一、彙總函式
count函式:求某列的行數
如果count輸入的是列名,在計算時會將空值排除在外;如果輸入的是*,那麼輸出的是包括空值在內的所有行
二、分組:group by
分析方法:資料分組——應用函式——組合結果
執行順序:
例如:查詢男生、女生人數
三、對分組結果指定條件——having
where只能對行指定條件,having可以對分組結果指定條件
例如:查詢至少選修兩門課程的學生學號
執行順序
四、如何用SQL解決業務問題
處理步驟:先翻譯成大白話,然後寫出分析思路,最後寫出對應的sql語句(可以用註釋寫)
五、對查詢結果排序
1、order by:降序(desc)從大到小/升序(asc)從小到大
從查詢結果中取出指定行:limit
例如1:
空值(NULL)的排序
空值預設最小,排在前面,
注意:孟扎扎排在馬化騰前面並不是根據姓氏排序的,我們資料庫的字符集編碼是uft-8
如果資料庫的字符集編碼是utf-8,漢字排序並不是按照字母順序的。
如果資料庫的字符集編碼是gbk,漢字排序是按照字母順序的
2、執行順序
六、常見報錯資訊
1、在group by 中使用了別名
有的版本可能不會報錯,具體根據各版本實際情況處理
2、在where中使用匯總函式