Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.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
为什么以下错误只发生在PGSQL中而不发生在MYSQL中?_Mysql_Sql_Postgresql - Fatal编程技术网

为什么以下错误只发生在PGSQL中而不发生在MYSQL中?

为什么以下错误只发生在PGSQL中而不发生在MYSQL中?,mysql,sql,postgresql,Mysql,Sql,Postgresql,必须出现在GROUP BY子句中或在聚合函数中使用 我正在两个表之间进行内部联接,并在GROUPBY中的基表中使用了一个外键,因此引发了上述错误。但是它在MYSQL中工作得很好我相信你说的是MYSQL

必须出现在GROUP BY子句中或在聚合函数中使用


我正在两个表之间进行内部联接,并在GROUPBY中的基表中使用了一个外键,因此引发了上述错误。但是它在MYSQL中工作得很好

我相信你说的是MYSQL<5.7这是MYSQL中的一个非标准特性,他们在MYSQL 5.7中取消了它

请参阅:

sqlmode\u only\u full\u group\u by 拒绝选择列表、具有条件或顺序的查询 “按列表”指的是未在列表中命名的未聚合列 GROUP BY子句在功能上不依赖于(唯一确定的 按)按列分组

从MySQL5.7.5开始,默认的SQL模式只包括_FULL _GROUP _BY。 (在5.7.5之前,MySQL不检测函数依赖性和 默认情况下,仅\u FULL\u GROUP\u BY未启用。有关 5.7.5之前的行为,请参阅MySQL 5.6参考手册。)


必须添加一些代码,必须添加示例数据,必须阅读教程:因为MySQL出于某种被上帝抛弃的原因,允许在
GROUPBY
子句中缺少非聚合列。千万不要在未聚合的
GROUP BY
中漏掉一列,因为这会在MySQL中导致奇怪的结果,并(正确地)在其他DBMS中导致错误。请注意,较新的MySQL版本更严格。(即,大量不兼容的MySQL应用程序…)