【发布时间】:2010-09-29 10:16:02
【问题描述】:
我正在尝试执行这条 SQL 命令:
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.page_namespace, pagelinks.pl_namespace) ASC,但没有成功。
更新:
我也试过这个:
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)
;
但我仍然遇到同样的错误。
谢谢
【问题讨论】:
-
发布您的架构和示例 SQL 数据文件,否则,不容易看到发生了什么。
标签: sql postgresql rdbms wikipedia