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