sql實現分組統計功能

2021-08-29 22:10:42 字數 789 閱讀 1970

現有人口資訊表,表中有字段年齡(整型),性別(字元)

要求統計不同年齡段的男女比例,形成如下**

年齡 男 女

---------------------------

18以下

18-30

30-40

40-50

50-60

60以上

實現sql如下:

select 年齡,sum(男),sum(女)

from

(select

case when 年齡<18 then '18以下' else

case when 年齡》=18 and 年齡<30 then '18-30' else

case when 年齡》=30 and 年齡<40 then '30-40' else

case when 年齡》=40 and 年齡<50 then '40-50' else

case when 年齡》=50 and 年齡<60 then '50-60' else

case when 年齡》=60 then '60以上'

else '其他' end end end end end as 年齡,

case when 性別='男' then 1 else 0 end as 男,

case when 性別='女' then 1 else 0 end as 女

from 人口資訊表

) as t

group by t.年齡

order by t.年齡

SQL分組統計

全國各省份人口數排前三的城市 思路 先按照省份分組,再組內按照人口數排序取前三 mysql set num 0 class select from select p.num if class province,num 1 1 as rank,class p.province as pclass fr...

SQL分組統計

第一種情況 橫向顯示 先看下面的乙個資料表 現在的需求是 統計出v coun每一種取值情況下,對就的v iseneded的數量。oracle中的 sql 如下 select v count,sum case when v isended 1then 1else 0end as 一的數量,sum ca...

SQL語句 分組統計

一 教師號 星期號 是否有課 有 有 有 有 有 寫一條sql語句讓你變為這樣的表 教師號 星期一 星期二 星期三 各星期下的數字表示 對應的教師在星期幾已經排的課數 答案是 select 教師號 sum case when 星期號 1then 是否有課 else 0end as 星期一 sum c...