日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
SQLServergroupby的用法有很多

SQL Server group by在實際應用中出現(xiàn)的頻率還是比較高的,此文章主要講述的是SQL Server group by的幾種用法,我們大家都知道Group by 作為SQL Server 數(shù)據(jù)庫中最為常用的語法之一。

其語法如下所示:

 
 
 
  1. [ GROUP BY [ ALL ] group_by_expression [ ,...n ]
  2. [ WITH { CUBE | ROLLUP } ]
  3. ]

1、最常用的就是這種語法,如下:Select CategoryID, AVG(UnitPrice), COUNT(UnitPrice) FROM dbo.Products Where UnitPrice > 30GROUP BY CategoryID ORDER BY CategoryID DESC這個語句查詢出,所有產品分類的產品平均單價,單價計數(shù)。并且單價在 30 以上的記錄。

2、再看看這種SQL Server group by語法,如下:Select CategoryID, AVG(DISTINCT UnitPrice), COUNT(DISTINCT UnitPrice) FROM dbo.Products Where UnitPrice > 30GROUP BY CategoryID ORDER BY CategoryID DESC使用 DISTINCT 的時候,將會去除重復的價格平均單價。

3、如果希望在分類統(tǒng)計之后,再使用條件過濾,下面的語句可以做為參數(shù):

Select CategoryID, SUM(UnitPrice) AS SumPriceFROM dbo.ProductsGROUP BY CategoryIDHAVING SUM(UnitPrice) > 300

HAVING 與 Where 語句類似,Where 是在分類之前過濾,而 HAVING 是在分類之后過濾。它和 Where 一樣使用 AND、OR、NOT、LIKE 組合使用。

4、如果希望再在分類統(tǒng)計中,添加匯總行,可以使用以下語句:Select CategoryID, SUM(UnitPrice), GROUPING(CategoryID) AS 'Grouping'FROM dbo.ProductsGROUP BY CategoryID WITH ROLLUPGrouping 這一列用于標識出哪一行是匯總行。它使用 ROLLUP 操作添加匯總行。

5、如果使用 WITH CUBE 將會產生一個多維分類數(shù)據(jù)集,如下:Select CategoryID, SupplierID, SUM(UnitPrice) AS SumPriceFROM dbo.ProductsGROUP BY CategoryID, SupplierID WITH CUBE 它會產生一個交叉表,產生所有可能的組合匯總。

6、使用 ROLLUP CUBE 會產生一個 NULL 空值,可以使用以下語法解決,如下:Select CASE WHEN (GROUPING(SupplierID) = 1) THEN '-1' ELSE SupplierID END AS SupplierID, SUM(UnitPrice) AS QtySumFROM dbo.ProductsGROUP BY SupplierID WITH CUBE

它首先檢查當前行是否為匯總行,如果是就可以設置一個值,這里設置為 '-1' 。

以上的相關內容就是對SQL Server group by的幾種用法的介紹,望你能有所收獲。


分享文章:SQLServergroupby的用法有很多
轉載注明:http://www.5511xx.com/article/cccggoj.html