用case when定义聚合键 但是group by指定的是课程, case when定义的是成绩 ,为什么说case when定义的聚合键
时间: 2023-07-12 16:04:11 浏览: 91
MySQL 的CASE WHEN 语句使用说明
5星 · 资源好评率100%
在 SQL 中,聚合键指定了如何对数据进行分组,以便对每个分组进行聚合计算。在使用 GROUP BY 子句时,指定的字段或表达式都是聚合键。在 SELECT 查询中,使用聚合函数(如 COUNT、SUM、AVG 等)对聚合键进行计算,以便计算每个分组的聚合值。因此,如果使用 CASE WHEN 表达式定义了一个新的字段,该表达式的结果将成为分组依据,因此可以被视为一种聚合键。
在你提到的情况中,GROUP BY 子句指定了课程作为聚合键,而 CASE WHEN 表达式定义了一个新的字段(成绩等级),该表达式的结果将根据每个课程来进行分组,因此可以被视为一种聚合键。
阅读全文