Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 警告:pg_query():查询失败:错误:列“…”必须出现在GROUP BY子句中或在聚合中使用_Mysql_Sql_Postgresql - Fatal编程技术网

Mysql 警告:pg_query():查询失败:错误:列“…”必须出现在GROUP BY子句中或在聚合中使用

Mysql 警告:pg_query():查询失败:错误:列“…”必须出现在GROUP BY子句中或在聚合中使用,mysql,sql,postgresql,Mysql,Sql,Postgresql,我有这样一个问题: SELECT n.*, c.*, u.nickname FROM news n JOIN ref_news_category c USING (id_category) JOIN ref_user u ON n.who_post = u.uid WHERE n.type IN ('member','public') ORDER BY last_update DESC 如果我使用mysql,这个查询运行正常,但在PostgreSQL中它不工作。。。 我的查询有什么问题?您

我有这样一个问题:

SELECT n.*, c.*, u.nickname FROM news n JOIN ref_news_category c USING (id_category) JOIN ref_user u ON n.who_post = u.uid WHERE n.type IN ('member','public') ORDER BY last_update DESC 如果我使用mysql,这个查询运行正常,但在PostgreSQL中它不工作。。。
我的查询有什么问题?

您没有使用任何聚合函数,因此不需要GROUP BY子句。您确定您的查询和错误消息吗?当您直接使用psql而不是通过浏览器运行此查询时会发生什么情况?这正是您的查询吗?我找不到任何团体。基本上,SQL不允许按b从表组中选择a、b,因为这对它没有意义。您需要从table group by b中选择maxa,b,或者从table group by a中选择a,b,avgc,这是MySQL的一个“特性”,它允许这样做。它甚至以一种似乎与DISTINCT无关的方式对GROUP BY进行了优化。其他RDBMS会将这种行为称为“bug”,这会返回什么?选择n.*,c.*,u.昵称从新闻n加入参考\新闻\类别c在c.id\u类别=n.id\u类别加入参考\用户u在n.who\u post=u.uid,其中n.键入“成员”,“public”ORDER BY n.last_update desc我获取此返回警告:pg_query:查询失败:错误:列n.last_update必须出现在GROUP BY子句中,或用于聚合函数行5:ORDER BY n.last_update desc Warning: pg_query(): Query failed: ERROR: column reference
"last_update" is ambiguous Warning: pg_query(): Query failed: ERROR: column "n.last_update" must appear
in the GROUP BY clause or be used in an aggregate function LINE 7: n.last_update desc