當前位置:首頁 » 編程語言 » 統計各年齡段的人數sql
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

統計各年齡段的人數sql

發布時間: 2022-08-16 15:36:07

sql語句 怎麼統計各年齡段人數分布情況 年齡為user_age,表為worker,年齡已知為數字類型

selectuser_age年齡,count(user_age)人數,cast(cast((count(user_age)/((selectcount(*)fromworker)*1.0)*100)asdecimal(9,2))asvarchar)+'%'所佔比例fromworkergroupbyuser_age


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

先將年齡除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出生年月統計年齡段

SELECT
SUM(CASEWHENyears>=20ANDyears<30THEN1ELSE0END)AS'20-30歲',
SUM(CASEWHENyears>=30ANDyears<40THEN1ELSE0END)AS'30-40歲',
SUM(CASEWHENyears>=40ANDyears<50THEN1ELSE0END)AS'40-50歲'FROM
(SELECTDATEDIFF(YEAR,Birthday,GETDATE())ASyearsFROMdbo.c_driver)ABC

⑷ sql語句 根據年紀階段統計人數 根據性別分組

select性別,
casewhen年齡between20and29then1else0end[20-29],
casewhen年齡between30and39then1else0end[30-39],
casewhen年齡between40and49then1else0end[40-49]
from表名
groupby性別

以上使用於大部分資料庫

只是在起別名上,只適用於sqlserver

oracle的話起別名

select性別,
casewhen年齡between20and29then1else0end"20-29",
casewhen年齡between30and39then1else0end"30-39",
casewhen年齡between40and49then1else0end"40-49"
from表名
groupby性別

mysql的話

select性別,
casewhen年齡between20and29then1else0end`20-29,
casewhen年齡between30and39then1else0end`30-39`,
casewhen年齡between40and49then1else0end`40-49
from表名
groupby性別

⑸ 利用SQL語句統計出各年齡段人數

select '25-30歲' as 年齡段 count(*) as 人數 from tb where year(getdate())-year(birthday)>=25 and year(getdate())-year(birthday)<30
union all
select '30-35歲' as 年齡段 count(*) as 人數 from tb where year(getdate())-year(birthday)>=30 and year(getdate())-year(birthday)<35
union all
select '35-40歲' as 年齡段 count(*) as 人數 from tb where year(getdate())-year(birthday)>=35 and year(getdate())-year(birthday)<40

⑹ 如何寫一個sql語句能根據出生日期按年齡段統計人數

你需要使用兩種SQL語句:

  • COUNT( )

  • BETWEEN

然後你的資料表要有紀錄年齡,或是至少要有出生日期。

大概的語法如下:

SELECT COUNT( 欄位名 ) FROM 資料表 WHERE 年齡 BETWEEN '40' and '50'

欄位名:不能是可以允許NULL值的欄位,有NULL的資料不會計算在內。

資料表:你要抓資料的那個資料表。

BETWEEN '40' and '50':意思是介於40~50歲。

⑺ SQL語句按年齡分組,統計各個年齡的人數

先確保你的出生年月是datetime的日期類型,語法如下。

select case when datediff(year,出生年月,getdate()) <= 20 then '20歲年齡段'
when datediff(year,出生年月,getdate()) between 21 and 25 then '21-25年齡段'
else '25以上年齡段' end as 年齡段,count(1) as 年齡段人數
from 表
group by
case when datediff(year,出生年月,getdate()) <= 20 then '20歲年齡段'
when datediff(year,出生年月,getdate()) between 21 and 25 then '21-25年齡段'
else '25以上年齡段' end

也可以試試

select sum(case when datediff(year,出生年月,getdate()) <= 20 then 1 else 0 end) '20歲年齡段',
sum(case when datediff(year,出生年月,getdate()) between 21 and 25 then 1 else 0 end) '21-25年齡段',
sum(case when datediff(year,出生年月,getdate()) > 25 then 1 else 0 end) '25以上年齡段'
from 表

⑻ SQL語句 按年齡段分組統計人數問題

先確保你的出生年月是datetime的日期類型,語法如下。
select
case
when
datediff(year,出生年月,getdate())
<=
20
then
'20歲年齡段'
when
datediff(year,出生年月,getdate())
between
21
and
25
then
'21-25年齡段'
else
'25以上年齡段'
end
as
年齡段,count(1)
as
年齡段人數
from

group
by
case
when
datediff(year,出生年月,getdate())
<=
20
then
'20歲年齡段'
when
datediff(year,出生年月,getdate())
between
21
and
25
then
'21-25年齡段'
else
'25以上年齡段'
end
也可以試試
select
sum(case
when
datediff(year,出生年月,getdate())
<=
20
then
1
else
0
end)
'20歲年齡段',
sum(case
when
datediff(year,出生年月,getdate())
between
21
and
25
then
1
else
0
end)
'21-25年齡段',
sum(case
when
datediff(year,出生年月,getdate())
>
25
then
1
else
0
end)
'25以上年齡段'
from

⑼ 統計出男生人數,平均年齡,女生人數,平均年齡.sql語句

1、SQL語句:SQL即結構化查詢語言(Structured
Query
Language),是一種特殊目的的編程語言,是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;同時也是資料庫腳本文件的擴展名。SQL語句無論是種類還是數量都是繁多的,很多語句也是經常要用到的,SQL查詢語句就是一個典型的例子,無論是高級查詢還是低級查詢,SQL查詢語句的需求是最頻繁的。

2、SQL語句包括(以VFP6為例):

  • create語句:創建表

  • alter語句:修改表結構

  • incert語句:在表中插入記錄

  • update語句:更新表中記錄

  • delete語句:刪除表中記錄

  • drop語句:刪除表

  • select語句:查詢記錄

3、本題目要求使用select語句,其語法結構為(以VFP6為例):

SELECT[ALL|DISTINCT|DISTINCTROW|TOP]
{*|talbe.*|[table.]field1[AS alias1][,[table.]field2[AS alias2][,…]]}
FROM tableexpression[,…][IN externaldatabase]
[WHERE…]
[GROUP BY…]
[HAVING…]
[ORDER BY…]

4、本題目需要有一個表:【學生表】(含性別、年齡欄位)

5、結論,所需SQL語句為:【select 性別, count(*) as 人數, avg(年齡)as 平均年齡 from 學生表 group by 性別】(見下圖,在VFP6中驗證,圖片可點擊放大)。

⑽ SQL統計年齡段

例如:
select case when [年齡] BETWEEN 10 AND 20 then '10-20'
when [年齡] BETWEEN 20 AND 30 then '20-30'
when [年齡] > 30 then '30以上' end as '年齡段',
count(*) as '人數' FROM [Table]