mysql按照年龄区间分组查询
生活随笔
收集整理的這篇文章主要介紹了
mysql按照年龄区间分组查询
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
需求:統計不同年齡區間的男女人數,比如0-9歲之間、10-19、20-29、30-39……每個年齡段中男女人數分別是多少。
實現:使用mysql中的interval函數。
interval(a,a1,a2,a3,a4)其中第一個參數a為要做比較的值,a2以及a2之后的參數為條件參數。當a為null的時候,返回-1。當a<a1的時候返回0,a<a2的時候返回1,a<a3的時候返回2,以此類推。需要注意的是,條件參數必須是以小到大的方式排列。
此時,就可以進行統計分組了,寫法為:
select interval(年齡字段,10,20,30,40,50,60,70,80,90,100) as ageRange ,sum(case when 性別字段 = 1 then 1 else 0 end) as man,????????????//求男性人數 性別字段=1表示男性,當性別字段中的值為1時man+1sum(case when 性別字段 = 0 then 1 else 0 end) as madam???????????//求女性人數from 表名where 條件group by ageRange ??????????????????????????????????????????????//根據年齡段進行分組? 實例:
SELECTINTERVAL(patientAge,10,20,30,40,50,60,70,80,90)ASageRange,SUM(CASE WHEN patientSex=1 THEN 1 ELSE 0 END)ASappointmentNumM,SUM(CASE WHEN patientSex=0 THEN 1 ELSE 0 END)ASappointmentNumFFROMt_appointmentWHERE1=1GROUP BY ageRangeLIMIT1,10結果為:
此時,年齡區間為0-9歲(ageRange為0的統計結果)的男性有406人,女性為380人;10-19之間(ageRange為1的統計結果)的男性213人,女性99人,20-29之間(ageRange為2的統計結果)的男性269人,女性241人等等。。
總結
以上是生活随笔為你收集整理的mysql按照年龄区间分组查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: phpstudy 本地配置url重写
- 下一篇: hdu - 1435 Stable Ma