分段分类统计,首先分类的话需要用case when 它的用法请大家去看看教程。
但是case when 只能统计单个数据。比如下面的例子。
有一个名为"信息表"中有"出生日期"的日期字段,按每10岁分段统计人数SQL如何写?
求年龄段 1-10 11-20 21-30 31- 40 41-50 51-60 61-70人数和?
用case when 的话。把sum放在 case when里面能够统计一个人在哪一个年龄阶段。
当第一个数据统计后就统计全部人数和了。
但是我要统计所有在这个年龄阶段的人数和。那么需要把sum放在case when的外面,统计每一种情况的总和:
SELECT
SUM(CASE WHEN datediff(year, 出生日期, getdate()) BETWEEN 1 AND 10 THEN 1 ELSE 0 END) AS '1-10',
SUM