sql 对groupby 后的数据limit_SQL(三)——汇总分析
1. 匯總分析
函數(shù)的3個(gè)功能:①功能;②輸入(參數(shù));③輸出(返回值)
查詢課程編號(hào)為“0002”的總成績(jī):
查詢選了課程的學(xué)生人數(shù):
2.分組
sql分組:group by
group by 實(shí)現(xiàn)數(shù)據(jù)分組,where在前,group by在后,group by緊跟在where最后一個(gè)限制條件后面,不能被夾在where限制條件之間。where在前,group by在后的原因:要先用where過(guò)濾掉不進(jìn)行分組的數(shù)據(jù),然后在對(duì)剩下滿足條件的數(shù)據(jù)進(jìn)行分組。
查詢各科成績(jī)最高和最低的分:
查詢每門(mén)課程被選修的學(xué)生人數(shù):
查詢男生、女生人數(shù):
3.對(duì)分組結(jié)果指定條件
having
having是在分好組后找出特定的分組,通常是以篩選聚合函數(shù)的結(jié)果。having必須在group by 后面,使用了having必須使用group by,但是使用group by 不一定使用having。
查詢平均成績(jī)大于60分學(xué)生的學(xué)號(hào)和平均成績(jī):
查詢至少選修兩門(mén)課程的學(xué)生學(xué)號(hào):
查詢同名同姓學(xué)生名單并統(tǒng)計(jì)同名人數(shù):
4.用sql解決業(yè)務(wù)問(wèn)題
計(jì)算沒(méi)門(mén)課程的平均成績(jī)并且平均成績(jī)大于等于80分:
select 查詢結(jié)果[沒(méi)門(mén)課程的課程號(hào):分組,平均成績(jī):avg(成績(jī))]
from 從哪張表中查找數(shù)據(jù)[成績(jī)表:score]
where 查詢條件(沒(méi)有)
group by分組[沒(méi)門(mén)課程:按課程號(hào)分組]
having 對(duì)分組結(jié)果指定條件[平均成績(jī)>=80];
5.對(duì)查詢結(jié)果排序
order by
降序:desc從大到小 升序:asc從小到大
select 查詢結(jié)果
from 從哪找表中查找數(shù)據(jù)
where 查詢條件
group by 分組
having 對(duì)分組結(jié)果指定條件
order by 對(duì)查詢結(jié)果排序
limit 從查詢結(jié)果中取出指定行
運(yùn)行順序:from-where-group by-having-select-order by-limit
查詢不及格的課程并按課程號(hào)從大到小排序:
查詢每門(mén)課程的平均成績(jī),結(jié)果按平均成績(jī)升序排序。平均成績(jī)相同時(shí),按課程號(hào)降序排序:
6.sql練習(xí)(sqlzoo)
總結(jié)
以上是生活随笔為你收集整理的sql 对groupby 后的数据limit_SQL(三)——汇总分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 30天不吃饭能瘦多少斤
- 下一篇: mysql 剔除不可见字符_不可见字符,