使用case when怎么group by
时间: 2023-11-12 07:18:11 浏览: 87
使用CASE WHEN语句进行GROUP BY可以根据条件对数据进行分组。下面是一个示例:
```sql
SELECT
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE result3
END AS group_column,
COUNT(*) AS count
FROM
your_table
GROUP BY
group_column;
```
在上面的示例中,根据条件(condition1、condition2)将数据分到不同的组中,并使用CASE WHEN语句创建一个名为group_column的分组列。然后使用COUNT(*)对每个分组进行计数。
请将"your_table"替换为您实际使用的表名,"condition1、condition2"替换为适合您的条件,"result1、result2、result3"替换为相应的结果。
相关问题
case when group by
CASE WHEN语句是一种条件语句,用于根据条件返回不同的结果。GROUP BY语句用于将数据按照指定的列进行分组,并对每个分组进行聚合操作。将这两个语句结合使用时,可以根据条件对分组进行分类,并对每个分组进行不同的聚合操作。例如,可以使用CASE WHEN语句将数据分为“高”、“中”、“低”三个等级,并使用GROUP BY语句对每个等级进行平均值计算。
sql case when group by
在SQL语句中,当使用到GROUP BY时,通常只能选择进行GROUP BY的字段以及sum、count、avg、max、min等聚合函数。但是可以使用CASE WHEN进一步对这些聚合函数进行条件约束,作用域仍然是经过GROUP BY后的分组数据。
例如,以下是一个使用CASE WHEN的示例:
SELECT
CASE WHEN condition1 THEN value1
WHEN condition2 THEN value2
ELSE value3
END AS column_name,
COUNT(*) AS count
FROM table
GROUP BY column_name;
另外,也可以通过GROUP BY与CASE WHEN结合使用,根据条件对字段进行拼接。以下是一个示例:
SELECT
date,
SUM(CASE WHEN type = 0 THEN price END) AS type0_price,
SUM(CASE WHEN type = 1 THEN price END) AS type1_price
FROM Price
GROUP BY date;
阅读全文