日期:2014-05-17  浏览次数:21047 次

是否可以用sql语句实现分数的分段人数统计
比如说,一个学校内有几千名学生,想用考试成绩对其进行分档统计,10分一个分档,例如0-10分有几个人,10-20分有几个人,直到90-100分有几个人。表名是student_score,字段是 name,id,score。
谢谢!

------解决方案--------------------
可以,但是这个分档固定下来,否则麻烦点
select name,id,trunc(score/10),count(*) from student_score 
group by name,id,trunc(score/10)
------解决方案--------------------
select name,id,trunc(score/10),count(*) from student_score
group by name,id,trunc(score/10)

上面的语句肯定满足不了楼主的要求。
你都按name,id进行分组了,难道有同一个名字、统一个ID的人得的分数在不同的段中?
------解决方案--------------------
select trunc(score/10) , count(trunc(score/10)) 
from student_score 
group by trunc(score/10)
order by 1
这个方法也是可以的,而且很简洁!