2020-08-13
阅读量:
2057
成绩表A,总分100,以10分为一个分数段,统计各分数段的人数(SQL)
需求: 根据成绩表数据,以10分为一个分数段,成绩进行分段统计
思路:1.对成绩除10,然后向下取整,得到区间分组值;
2.根据区间分组值进行分组统计;
1.创建表A,并且插入值
CREATE TABLE A( name VARCHAR, grade float) INSERT INTO a VALUES ('a', 90); INSERT INTO a VALUES ('b', 93); INSERT INTO a VALUES ('c', 70); INSERT INTO a VALUES ('d', 80); INSERT INTO a VALUES ('d', 10); INSERT INTO a VALUES ('d', 8); INSERT INTO a VALUES ('d', 100); INSERT INTO a VALUES ('d', 0);
2.查看表数据
SELECT * from a ;
3.先对数据进行除10向下取整操作
SELECT t.con, count (*)FROM ( SELECT floor((A .grade / 10)) AS con FROM A ) TGROUP BY T .con;
在对处理数据进行统计
SELECT ( (T .con * 10) || '-' || ((T .con + 1) * 10 - 1) ) AS "分数段", COUNT (*) AS "人数"FROM ( SELECT FLOOR ((A .grade / 10)) AS con FROM A ) TGROUP BY T .con






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论