說明
本文大部分內容是根據原文檔內容翻譯,按照個人的理解做了排版。
MySQL版本
5.7
原文地址
https://dev.mysql.com/doc/refman/5.7/en/group-by-handling.html
內容
SQL-92和更早版本不允許選擇列表,HAVING條件或ORDER BY列表引用未在GROUP BY子句中命名的未聚合列的查詢。例如,此查詢在標準SQL-92中是非法的,因為選擇列表中的未聚合名稱列未出現在GROUP BY中:
<code>SELECT o.custid, c.name, MAX(o.payment) FROM orders AS o, customers AS c WHERE o.custid = c.custid GROUP BY o.custid;/<code>
為了使查詢在SQL-92中合法,必須從選擇列表中省略name列或在GROUP BY子句中命名。