PostgreSQL查询不一致性
我正在尝试执行以下SQL命令:PostgreSQL查询不一致性,sql,postgresql,rdbms,wikipedia,Sql,Postgresql,Rdbms,Wikipedia,我正在尝试执行以下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
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)
;
我尝试将:orderby(page.page_名称空间,pagelinks.pl_名称空间)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)
;
但我还是犯了同样的错误
Thx我不是一个真正的专家,但我对这条信息的理解是PostgreSQL抱怨无法处理
page.page\u namespace嗯,我不知道您使用的模式(*),但错误信息似乎很清楚。您的一个列的类型为,并且没有运算符来排序记录。但是您的查询的某些部分,如我没有检查任何文档,但是您的分组依据表达式放在括号中这一事实对我来说很不寻常。如果这里不使用括号会发生什么情况?我有一些错误。
但我找到了这一页,
这很简单,你必须分组而不带括号
例如:
分组依据(page.page_名称空间,pagelinks.pl_名称空间)
正确的答案是
按page.page_命名空间分组,pagelinks.pl_命名空间
你好 发布您的模式和示例SQL数据文件,否则,很难看到发生了什么。[3]:正如我所说的,发布DDL(创建表请求)和数据文件的示例。否则,调试就太困难了。实际上,没有一列是RECORD类型的。这到底意味着什么?事实上,你的链接似乎对我不起作用,网页将不会加载。谢谢!从我的更新中可以看出,这不是问题所在。不管怎样,我刚刚测试了Thx,是的,你是对的,括号产生了这个奇怪的错误信息。这在两年前就被清除了,现在仍然是真的。你的回答没有任何补充。
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)
;