用sql語句實現年齡分段統計

2021-07-06 11:22:52 字數 1783 閱讀 4361

select

case

when (age >= 10

and age <= 20) then

'10-20'

when (age >= 21

and age <= 30) then

'21-30'

else

'30-'

end'eag_layer',

count(*) emps

from

address_book

group

bycase

when (age >= 10

and age <= 20) then

'10-20'

when (age >= 21

and age <= 30) then

'21-30'

else

'30-'

endorder

by1;

select

'10-20' 年齡段, count(*) 人數

from [table]

where [年齡] between 10

and20

union

allselect

'21-30' 年齡段, count(*) 人數

from [table]

where [年齡] between 21

and30

union

allselect

'31' 年齡段, count(*) 人數

from [table]

where [年齡] > 30

select

case

when [年齡] between 10

and20

then

'10-20'

when [年齡] between 20

and30

then

'20-30'

when [年齡] > 30

then

'30以上'

endas

'年齡段',

count(*) as

'人數'

from [table]

先將年齡除10取整

select floor(年齡/10) as age from 表
再根據年齡整數分組統計

select age ,count(age) from

(select floor(年齡/10) as age from 表

)group

by age

這樣基本效果就出來了,達到樓主的要求就要加如函式計算了

sql語法

select convert(varchar,age*10)+'--'+convert(varchar,(age+1)*10) ,count(age) from

(select floor(年齡/10) as age from 表

)group

by age

oracle語法

select age*10 || '--'|| (age+1)*10 ,count(age) from

(select floor(年齡/10) as age from 表

)group

by age

用SQL語句實現遞迴演算法

本文通過乙個bom表的例子,分別介紹在sql server2000和sql server2005中如何編寫遞迴演算法。一 建立測試資料 createtablebillofmaterial productno nvarchar 15 父元件編號 productname nvarchar 50 子元件名...

用sql語句彙總 實現語句的合併

待驗收入庫單 create table t cw warehousing entry bosid number not null,wareid varchar2 50 入庫單編號 stocktime varchar2 50 採購時間 empid varchar2 50 登記人 cw addr var...

SQL語句實現上期比統計例項

使用潤幹的客戶可以通過位移座標實現,上期比 同期比等資料的計算,但當其授權檔案中沒有位移座標的功能點的時候,實現起來就比較困難了,通常建議客戶在sql中計算得出。下面就是通過sql語句計算出上期比的例項。資料結構如下 其中的資料為 報表中的資料集如下所示 select temp2.nian 年,te...