MYSQL中GROUP BY的細節及SELECT語句順序


一、GROUP BY語句的細節

我們知道,在sql中,GROUP BY語句主要用來給數據分組,以便能對每個組進行聚集計算,但是GROUP BY也有一些限制需要知道:

1. GROUP BY字句可以包含任意數目的列,使得能對分組進行嵌套,為數據分組提供更細致的控制。

2.如果嵌套了分組,數據將在最后規定的分組上進行匯總,也就是建立分組時,所有列都一起計算。

3.GROUP BY字句中列出的每個列都必須是檢索列或者有效表達式,但不能是聚集函數,別名也不能使用

4.除了聚集語句外,SELECT語句中的每個列都必須在GROUP BY字句中給出。(沒給出的那個字段實際上沒什么用)

5.如果分組列中有NULL值,則NULL將作為一個分組返回。如果列中有多行NULL值,它們將分為一組。

6.GROUP BY 子句必須在WHERE之后,ORDER BY 之前

 

二、SELECT語句順序

字句

說明

是否必須使用

SELECT

要返回的列或表達式

FROM

從中檢索數據的表

僅在從表中選擇數據時使用

WHERE

行級過濾

GROUP BY

分組說明

僅在按組計算聚集時使用

HAVING

組級過濾

ORDER BY

輸出排序順序

LIMIT

要檢索的行數

 

三、參考

1. 《MYSQL必知必會》

(完)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM