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

sql查詢不同年齡段學生的人數

發布時間: 2023-06-01 04:42:52

sql查詢年齡小於19歲的學生人數

直接查詢。sql查詢年齡小於19歲的學生人數是可以直接進行查詢的。學生,也叫學子;一般指正在學校、學堂或其他學習哪坦碧地方受教育的人,而在研究機構或工作單位(如醫院、信睜研究所)學習的人也稱學李舉生。

② 統計年齡在20歲以下的學生人數寫出sql-select查詢命令

select count(*) as 人數 from 學生表
where datediff(year,getdate(),出生日期)+1<20

③ SQL server 語句根據出生日期每5歲一個段,查詢出相應的人數,如年齡段內無數據,則不顯示.僅用查詢語句完成

selectageRange,count
from
(
selectageRange=casewhenbirthbetweendateadd(yyyy,-5,getdate())andgetdate()then'0-5'
whenbirthbetweendateadd(yyyy,-10,getdate())anddateadd(yyyy,-5,getdate())then'5-10'
whenbirthbetweendateadd(yyyy,-15,getdate())anddateadd(yyyy,-10,getdate())then'10-15'
whenbirthbetweendateadd(yyyy,-20,getdate())anddateadd(yyyy,-15,getdate())then'15-20'
whenbirthbetweendateadd(yyyy,-25,getdate())anddateadd(yyyy,-20,getdate())then'20-25'
whenbirthbetweendateadd(yyyy,-30,getdate())anddateadd(yyyy,-25,getdate())then'25-30'
稿孝when拿芹birthbetweendateadd(yyyy,-35,getdate())anddateadd(yyyy,-30,getdate())then'30-35'
whenbirthbetweendateadd(yyyy,-40,getdate())anddateadd(yyyy,-35,getdate())then'35-40'
whenbirthbetweendateadd(yyyy,-45,getdate())anddateadd(yyyy,-40,getdate())then'40-45'消敬畢
whenbirthbetweendateadd(yyyy,-50,getdate())anddateadd(yyyy,-45,getdate())then'45-50'
whenbirthbetweendateadd(yyyy,-55,getdate())anddateadd(yyyy,-50,getdate())then'50-55'
whenbirthbetweendateadd(yyyy,-60,getdate())anddateadd(yyyy,-55,getdate())then'55-60'
whenbirthbetweendateadd(yyyy,-65,getdate())anddateadd(yyyy,-60,getdate())then'60-65'
whenbirthbetweendateadd(yyyy,-70,getdate())anddateadd(yyyy,-65,getdate())then'65-70'
whenbirthbetweendateadd(yyyy,-75,getdate())anddateadd(yyyy,-70,getdate())then'70-75'
whenbirthbetweendateadd(yyyy,-80,getdate())anddateadd(yyyy,-75,getdate())then'75-80'
end,
count(ID)ascountRange
fromperson
)awherecountRange>0
groupbyageRange

④ sql命令統計各個年級的學生人數

select 年級, count(*)

from 學生表
group by 年級

⑤ 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語句統計出各年齡段人數

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語言基礎(3)

count(欄位)

求 select 返回的記錄總數

查詢學生總數

select count(*) from studnets;

count可以結合distinct使用,去重後的統計

查詢一共有多少個班級 (把班級進首鉛行去重後進行統計)

select count(distinct class) from students;

查詢女學生的數量

select count(*) from studnets where sex ='女';

max(欄位名)

查詢指定欄位里的最大值

查詢students中的最大年齡

select max(age) from students;

查詢女學生最大年齡

select max(age) from studnets where sex '女';

查詢1班最大年齡

select max(age) from students where class = '1班';

min(欄位)

查詢指定欄位里的最小值

查詢學生中最小年齡

select min(age)  from students;

查詢學生中女生最小年齡

select min(age) from studnets where sex ='女';

查詢學生中1班最小年齡

select min(age) from students where class ='1班';

sum(欄位名)

指定欄位的值求和

查詢學生的年齡總和

select sum(age) from students;

查詢女學生的年齡總和

select sum(age) from students where sex = '女';

查詢1班學生的年齡總和

select sum(age) from students where class ='1班';

age(欄位)表示求此者耐好欄位的平均值

查詢班級中的平均年齡

select avg(age) from  studnets;

查詢班級中女生的平均年齡

select avg(age) from students where sex = '女';

查詢班級為1班的平均年齡

select avg(age) from students where class ='1班';

avg的欄位中如果有null,null不做為分母計算平均值 (如果所查詢的3個值,其中一個值為null,而只能算做兩個值求平均值)

擴展練習

查詢所有學生的最大年齡,最小年齡,平均年齡;

select max(age),min(age),avg(age) from students;

查詢1班有多少個學生

select count(*) from sutdnets where class = '1班';

查詢3班中年齡小於30歲的同學有多少

select count(*) from students where class ='3班' and age < '30';

group by 欄位名

select 聚合函數 from 表名 where 表名 group by 欄位 

group by 就是畝襪配合聚合函數使用的

分別查詢男女同學的數量

select sex,count(*) from students group by sex;

查詢各個年齡段的學生數量

select age,count(*) from students group age;

查詢1班男生、女生的數量

select sex,count(*) from where class ='1班' students group by sex;

用數據分組的方法,統計各個班級學生總數,平均年齡,最大年齡,最小年齡

select class count(*),avg(age),max(age),min(age) from students group by class;

統計各個班級的學生總數,平均年齡、最大年齡、最小年齡、但不統計3班的學生,統計結果按班級從小到大排序

select class count(*),avg(age),max(age),min(age) from students where class !='3班' group by class order by class desc;

分組以後篩選

用where查詢男生總數

select count(*) from studnets where sex ='男';

用having查詢男生總數

select count(*) from students group by sex having sex ='男';

求班級人數大於3人的班級

select class, count(*) from students group by class having count(*)> 3;

Having與where篩選的區別

where是對標的原始數據進行篩選

having是對group by之後已經分過組的數據進行篩選

having可以使用聚合函數 where不能用聚合函數

查詢班級總人數大於2人的班級名稱以及班級對應的總人數

select class,count(*) from students group by class having count(*) > 2;

查詢平均年齡大於30歲的班級名稱和班級總人數

select class,count(*) from students group by class having ave(age) > 30;

select * from 表名 where 條件 group by 欄位 order by 欄位 limit start,count 

 語法:limit開始行,獲取行數 

limit總是出現在select語句的最後

start代表開始行號,行號從0開始編號

count代表要顯示多少行

省略start默認從0開始,從第一行開始

查詢前3行學生記錄

select * from students limit 0,3;

查詢從第4條記錄開始的三條記錄

select * from studnets limit 3,3;

當有where或者group by或者order by,limit總是出現在最後

查詢年齡最大同學的名字

select name from students order by age desc limt 0,1;

查詢年齡最小女同學的信息

select * from students where sex = 女 order by age  limit 0,1;

當一張表記錄特別多的時候,就需要用到分頁顯示

已知:每頁顯示m條數據,求查詢第n頁數據

公式 limit (n-1)*m,m

每頁顯示4條記錄,第3頁的結果  

select * from students limit 8,4;

每頁顯示4條記錄,第2頁的結果

select * form students limit 4,4;

已知每頁也數,求一張表需要幾頁顯示

    ♦求總頁數

    ♦總頁數/每頁的記錄數

    ♦如果結果是整數,那麼就是總頁數,如果結果有小數,那麼就在結果的整數上+1

每頁顯示5條記錄,分別多條select顯示每頁的記錄

第一頁  

select * from limit 5;

第二頁   套用公式 (n-1)*m,m  m條數 n頁數

select * from limit 5,5;

第三頁

select  * from limit 10,5; 

第四頁

select * from limit 15,5;

⑨ SQL統計年齡大於30歲的學生的人數

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

⑩ sql 查詢每個年齡的人數

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