⑴ 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]