group by中可以用case when吗
时间: 2024-05-28 17:15:11 浏览: 97
mysql case when group by 实例详解
可以的。在 GROUP BY 子句中,可以使用 CASE WHEN 语句来更改分组依据,这样可以根据需要灵活地设置分组条件。例如:
SELECT
CASE WHEN age < 18 THEN '青少年'
WHEN age >= 18 AND age < 30 THEN '青年'
WHEN age >= 30 AND age < 60 THEN '中年'
ELSE '老年' END AS age_group,
COUNT(*) AS count
FROM users
GROUP BY
CASE WHEN age < 18 THEN '青少年'
WHEN age >= 18 AND age < 30 THEN '青年'
WHEN age >= 30 AND age < 60 THEN '中年'
ELSE '老年' END;
这个查询将按照年龄分成四个组,统计每个组中用户的数量。当年龄小于18岁时,用户将被归类为“青少年”组,当年龄大于等于18岁且小于30岁时,用户将被归类为“青年”组,以此类推。
阅读全文