一、数据准备
假设user表如下:
id | grade |
---|---|
110 | 8 |
210 | 11 |
310 | 3 |
111 | 12 |
211 | 15 |
311 | 6 |
110 | 8 |
210 | 11 |
310 | 3 |
111 | 12 |
211 | 15 |
311 | 6 |
#将文本数据导入数据库
load data infile 'user.csv' into table user fields terminated by"," lines terminated by"\n";
二、使用ELT、interval组合进行区间统计
假设统计grade字段中,以4为步长进行区间统计。
select ELT(INTERVAL(t.`grade`,0,4,8,12,16),'0-4','4-8','8-12','12-16') as grade_level,COUNT(t.`grade`) as cnt from user t GROUP BY grade_level;
运行结果如下:
grade_level | cnt |
---|---|
8-12 | 4 |
0-4 | 2 |
12-16 | 4 |
4-8 | 2 |
注意:这里输出区间是没有顺序的,可以导出使用excel简单处理即可