选择列表中的列 '订购.数量' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中
时间: 2024-05-07 13:20:22 浏览: 121
解决大于5.7版本mysql的分组报错Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated
这个错误通常出现在 SQL 的 GROUP BY 子句中。在使用 GROUP BY 子句分组数据时,所有未聚合的列必须出现在 GROUP BY 子句中或作为聚合函数的参数。否则,将出现 "无效列" 或类似的错误。
例如,如果您想按订购日期和产品 ID 对订购进行分组,并计算每个组中订购数量的总和,您的 SQL 查询可能是这样的:
```
SELECT 订购日期, 产品ID, SUM(数量) AS 总数量
FROM 订购
GROUP BY 订购日期, 产品ID;
```
在这个查询中,"数量" 列是一个聚合函数的参数,而 "订购日期" 和 "产品ID" 列出现在 GROUP BY 子句中。这样可以避免出现 "无效列" 的错误。
如果您只想按订购日期对订购进行分组,并计算每个组中订购数量的总和,您的查询可能是这样的:
```
SELECT 订购日期, SUM(数量) AS 总数量
FROM 订购
GROUP BY 订购日期;
```
在这个查询中,"订购日期" 列出现在 GROUP BY 子句中,而 "数量" 列是聚合函数的参数。
阅读全文