您好,登錄后才能下訂單哦!
在SQL中使用GROUP BY來對SELECT的結果進行數據分組,在具體使用GROUP BY之前需要知道一些重要的規定。
過濾分組
對分組過于采用HAVING子句。HAVING子句支持所有WHERE的操作。HAVING與WHERE的區別在于WHERE是過濾行的,而HAVING是用來過濾分組。
另一種理解WHERE與HAVING的區別的方法是,WHERE在分組之前過濾,而HAVING在分組之后以每組為單位過濾。
分組與排序
一般在使用GROUP BY子句時,也應該使用ORDER BY子句。這是保證數據正確排序的唯一方法。
SQL SELECT語句的執行順序:
舉個例子吧
select 考生姓名, max(總成績) as max總成績 from tb_Grade where 考生姓名 is not null group by 考生姓名 having max(總成績) > 600 order by max總成績
在上面的示例中 SQL 語句的執行順序如下:
注:如果使用了連接join和on,則會在where執行之前先執行on,然后執行join,接著才去執行where。
附:
MySQL中的聚集函數:
注:avg()忽略值為null的行,count(*)時統計所有行,count(列)時忽略為null的行
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。