① 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 年齡