在SQL查詢中GROUP BY的意思是什麼?
在SQL查詢中GROUP BY的意義是根據指定的規則將資料分組,其作用是將查詢結果依某一列或多列的值分組,值相等的為一組,GROUP BY語句一般是和聚合函數進行配合使用。
Group By 和Order By
select 類別, sum(數量) AS 數量之和from A group by 類別order by sum(數量) desc
在Access中不可以使用“order by 數量之和desc”,但在SQL Server中則可以。
Group By中Select指定的欄位限制
select 類別, sum(數量) as 數量之和, 摘要from A group by 類別order by 類別desc
執行後會提示下錯誤,如下圖。這就是需要注意的一點,在select指定的欄位要麼就要包含在Group By語句的後面,作為分組的依據;要麼就要被包含在聚合函數中。
Group By All
select 類別, 摘要, sum(數量) as 數量之和from A group by all 類別, 摘要
#中則可以指定“摘要”字段,其原因在於“多列分組”中包含了“摘要字段”,其執行結果如下表
“多列分組”實際上就是按照多列(類別摘要)合併後的值進行分組,範例4中可以看到「a, a2001, 13」為「a, a2001, 11」和「a, a2001, 2」兩筆記錄的合併。
SQL Server中雖然支援“group by all”,但Microsoft SQL Server 的未來版本中將刪除 GROUP BY ALL,避免在新的開發工作中使用 GROUP BY ALL。 Access中是不支援「Group By All」的,但Access中同樣支援多列分組,上述SQL Server中的SQL在Access可以寫成
select 類別, 摘要, sum(數量) AS 數量之和from A group by 類別, 摘要
推薦教學:《MySQL教學》
以上是在SQL查詢中GROUP BY的意思是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!