共計(jì) 913 個(gè)字符,預(yù)計(jì)需要花費(fèi) 3 分鐘才能閱讀完成。
自動(dòng)寫代碼機(jī)器人,免費(fèi)開通
這篇文章主要介紹在 SQL 查詢中 GROUP BY,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
在 SQL 查詢中 GROUP BY 的含義是什么?
在 SQL 查詢中 GROUP BY 的含義是根據(jù)指定的規(guī)則對(duì)數(shù)據(jù)進(jìn)行分組,其作用是將查詢結(jié)果按某一列或多列的值進(jìn)行分組,值相等的為一組,GROUP BY 語句一般是和聚合函數(shù)進(jìn)行配合使用。
Group By 和 Order By
select 類別, sum(數(shù)量) AS 數(shù)量之和 from A group by 類別 order by sum(數(shù)量) desc
在 Access 中不可以使用“order by 數(shù)量之和 desc”,但在 SQL Server 中則可以。
Group By 中 Select 指定的字段限制
select 類別, sum(數(shù)量) as 數(shù)量之和, 摘要 from A group by 類別 order by 類別 desc
執(zhí)行后會(huì)提示下錯(cuò)誤,如下圖。這就是需要注意的一點(diǎn),在 select 指定的字段要么就要包含在 Group By 語句的后面,作為分組的依據(jù);要么就要被包含在聚合函數(shù)中。
Group By All
select 類別, 摘要, sum(數(shù)量) as 數(shù)量之和 from A group by all 類別, 摘要
中則可以指定“摘要”字段,其原因在于“多列分組”中包含了“摘要字段”,其執(zhí)行結(jié)果如下表
“多列分組”實(shí)際上就是就是按照多列(類別 + 摘要)合并后的值進(jìn)行分組,示例 4 中可以看到“a, a2001, 13”為“a, a2001, 11”和“a, a2001, 2”兩條記錄的合并。
SQL Server 中雖然支持“group by all”,但 Microsoft SQL Server 的未來版本中將刪除 GROUP BY ALL,避免在新的開發(fā)工作中使用 GROUP BY ALL。Access 中是不支持“Group By All”的,但 Access 中同樣支持多列分組,上述 SQL Server 中的 SQL 在 Access 可以寫成
select 類別, 摘要, sum(數(shù)量) AS 數(shù)量之和 from A group by 類別, 摘要
以上是“在 SQL 查詢中 GROUP BY”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道!
向 AI 問一下細(xì)節(jié)