计数记录分组到范围

时间:2015-09-16 12:46:16

标签: mysql sql database

我的数据库中有一个名为学生的表,列表年龄和其他列。我需要计算每个年龄段的学生,例如给我一些年龄介于0-5,6-10,11-15之间的学生。我可以通过单个查询得到这个,还是我需要在循环中使用BETWEEN子句。

由于

修改

这也可以视为员工薪酬关系。可以对其进行更改以计算具有不同范围工资的员工,例如1000k到1500k等。

2 个答案:

答案 0 :(得分:1)

我不认为有一个功能可以将年龄分组到您的范围或桶中。因此,您必须手动执行此操作,然后对数据进行分组。

DataContext

答案 1 :(得分:1)

你可以用一个案例和给定年龄之间的事情(我只是一个例子),然后按那个分组。

select  case    
       when age between 0 and 20 then ' 0-20'  
       when age between 21 and 41 then ' 21-41'  
       when age between 42 and 62 then ' 42-62'  
       when age between 63 and 83 then ' 63-83'  
       when age between 84 and 104 then ' 84-104'   
    end as `range`, count(*) as `users`
from users group by `range`

我还没有能够测试它,但它应该工作:),否则发布错误,我们尝试从那里解决它