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

sql如何計算某個年齡段的人數

發布時間: 2022-06-22 01:05:09

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語句能根據出生日期按年齡段統計人數

你需要使用兩種SQL語句:

  • COUNT( )

  • BETWEEN

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

大概的語法如下:

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

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

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

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

❸ sql 查詢每個年齡的人數

select COUNT(*) as 每個年齡的人數,年齡 from 員工表 group by 年齡

❹ SQL 只有出生日期 如何統計出相同年齡人數 給我具體語句

假如統計1990-5-5相同年齡的人,主鍵為ID,生日的欄位為Birthday SQL語句: SELECT COUNT(ID) FROM 表名 WHERE Birthday BETWEEN '1990-1-1 00:00:00' AND '1990-12-31:23:59:59'

麻煩採納,謝謝!

❺ 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統計年齡大於30歲的學生的人數

SQL統計年齡大於30歲的學生的人數:
select count(*) as 人數
from student
where(year(gatdate())-year(birthday))>30

❼ 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語句 按年齡段分組統計人數問題

--很簡單啊,樓主請看:
--以下在SQL2005測試通過。
create
table
#t(Uname
varchar(10),age
int)
insert
#t
select
'啊啊',19
union
all
select
'信息',23
union
all
select
'寶寶',31
union
all
select
'喔喔',21
union
all
select
'米米',6
select
nnd
as
'年齡段',count(*)
as
'人數'
from
(
select
case
when
age>=1
and
age<=10
then
'1-10'
when
age>=11
and
age<=20
then
'11-20'
when
age>=21
and
age<=30
then
'21-30'
when
age>=31
and
age<=40
then
'31-40'
end
as
nnd,uname
from
#t
)
a
group
by
nnd

❾ SQL 只有出生日期 如何統計出相同年齡人數

例:表 tab1 ,出生日期欄位為 rq,sql語句如下

selecta.age,count(*)from
(selectyear(getdate())-year(rq)as"age"fromtab1)a
groupbya.age;

關鍵語句:select year(getdate()) - year(rq) as "age" from tab1

year函數獲取系統日期與出生日期的年份,將年份相減即年齡,當然也可以根據需求,取出月份,進行運算,獲得更精確的周歲。

❿ 利用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