说明
最近遇到这么一个需求:统计区间在0-2000,2000-3000,3000-4000,4000-5000,5000+工资的人数。
快速开始
数据如下:
开始看到这个问题,想都没想就开始写了下面的代码:
SELECT case
when salary < 2000 then '[0, 2000)'
when salary >= 2000 and salary < 3000 then '[2000, 3000)'
when salary >= 3000 and salary < 4000 then '[3000, 4000)'
when salary >= 4000 and salary < 5000 then '[4000, 5000)'
when salary >= 5000 then '[5000+)'
end c,COUNT(*)
FROM salary_list
GROUP BY c
执行结果:
但其实我们要的结果是
[0,2000] 0
[2000,3000) 3
[3000,4000) &nb