我试图执行SQL命令:PostgreSQL的查询不一致
SELECT page.page_namespace, pagelinks.pl_namespace, COUNT(*)
FROM page, pagelinks
WHERE
(page.page_namespace <=3 OR page.page_namespace = 12
OR page.page_namespace = 13
)
AND
(pagelinks.pl_namespace <=3 OR pagelinks.pl_namespace = 12
OR pagelinks.pl_namespace = 13
)
AND
(page.page_is_redirect = 0)
AND
pagelinks.pl_from = page.page_id
GROUP BY (page.page_namespace, pagelinks.pl_namespace)
;
当我这样做,我得到以下错误:
ERROR: could not identify an ordering operator for type record
HINT: Use an explicit ordering operator or modify the query.
********** Error **********
ERROR: could not identify an ordering operator for type record
SQL state: 42883
Hint: Use an explicit ordering operator or modify the query.
我曾尝试加入:ORDER BY(页.page_namespace,pagelinks.pl_namespace)ASC到查询结尾没有成功。
UPDATE:
我也试过这样:
SELECT page.page_namespace, pagelinks.pl_namespace, COUNT(*)
FROM page, pagelinks
WHERE pagelinks.pl_from = page.page_id
GROUP BY (page.page_namespace, pagelinks.pl_namespace)
;
但我仍然得到同样的错误。
THX
发布您的模式和一个示例SQL数据文件,否则,不容易看到发生了什么。 – bortzmeyer 2009-01-03 22:57:59
[3]:http://upload.wikimedia.org/wikipedia/commons/4/41/Mediawiki-database-schema.png – 2009-01-04 00:28:49