# GROUP BY 报错解决
# 添加cust_name
# SQL 标准中不允许 SELECT 列表,HAVING 条件语句,或 ORDER BY 语句中出现 GROUP BY 中未列表的可聚合列。而 MySQL 中有一个状态 ONLY_FULL_GROUP_BY 来标识是否遵从这一标准,默认为开启状态。
# 参考https://www.cnblogs.com/Wayou/p/mysql_group_by_issue.html
SELECT cust_name,
SUM(item_price*quantity) AS total_price
FROM Customers c
INNER JOIN Orders o
ON c.cust_id = o.cust_id
INNER JOIN OrderItems oi
ON oi.order_num = o.order_num
GROUP BY oi.order_num, cust_name
HAVING total_price >= 1000
ORDER BY total_price