偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

SQL Server group by語(yǔ)句的幾種用法描述

數(shù)據(jù)庫(kù) SQL Server
我們今天主要向大家講述的是SQL Server group by的正確用法,以下就是對(duì)SQL Server group by幾種用法的詳細(xì)描述。

以下的文章主要描述的是SQL Server group by的正確用法,在實(shí)際操作中g(shù)roup by是經(jīng)常要用到的語(yǔ)法,那么你對(duì)SQL Server group by的用法有興趣了解的話(huà),你就可以通過(guò)以下的文章對(duì)其有個(gè)更好的了解。

group by 是SQL Server 中常用的一種語(yǔ)法,語(yǔ)法如下:

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

SQL Server group by的用法1、最常用的就是這種語(yǔ)法,如下:

  1. Select CategoryID, AVG(UnitPrice), COUNT(UnitPrice)   
  2. FROM dbo.Products Where UnitPrice > 30  
  3. GROUP BY CategoryID   
  4. ORDER BY CategoryID DESC 

這個(gè)語(yǔ)句查詢(xún)出,所有產(chǎn)品分類(lèi)的產(chǎn)品平均單價(jià),單價(jià)計(jì)數(shù)。并且單價(jià)在 30 以上的記錄。

SQL Server group by的用法2、再看看這種語(yǔ)法,如下:

  1. Select CategoryID, AVG(DISTINCT UnitPrice), COUNT(DISTINCT UnitPrice)   
  2. FROM dbo.Products   
  3. Where UnitPrice > 30  
  4. GROUP BY CategoryID   
  5. ORDER BY CategoryID DESC 

使用 DISTINCT 的時(shí)候,將會(huì)去除重復(fù)的價(jià)格平均單價(jià)。

SQL Server group by的用法3、如果希望在分類(lèi)統(tǒng)計(jì)之后,再使用條件過(guò)濾,下面的語(yǔ)句可以做為參數(shù):

  1. Select CategoryID, SUM(UnitPrice) AS SumPrice  
  2. FROM dbo.Products  
  3. GROUP BY CategoryID  
  4. HAVING SUM(UnitPrice) > 300 

HAVING 與 Where 語(yǔ)句類(lèi)似,Where 是在分類(lèi)之前過(guò)濾,而 HAVING 是在分類(lèi)之后過(guò)濾。它和 Where 一樣使用 AND、OR、NOT、LIKE 組合使用。

SQL Server group by的用法4、如果希望再在分類(lèi)統(tǒng)計(jì)中,添加匯總行,可以使用以下語(yǔ)句:

 

  1. Select CategoryID, SUM(UnitPrice), GROUPING(CategoryID) AS 'Grouping'  
  2. FROM dbo.Products  
  3. GROUP BY CategoryID WITH ROLLUPGrouping 

這一列用于標(biāo)識(shí)出哪一行是匯總行。它使用 ROLLUP 操作添加匯總行。

SQL Server group by的用法5、如果使用 WITH CUBE 將會(huì)產(chǎn)生一個(gè)多維分類(lèi)數(shù)據(jù)集,如下:

  1. Select CategoryID, SupplierID, SUM(UnitPrice) AS SumPrice  
  2. FROM dbo.Products  
  3. GROUP BY CategoryID, SupplierID WITH CUBE 

它會(huì)產(chǎn)生一個(gè)交叉表,產(chǎn)生所有可能的組合匯總。

SQL Server group by的用法6、使用 ROLLUP CUBE 會(huì)產(chǎn)生一個(gè) NULL 空值,可以使用以下語(yǔ)法解決,如下:

  1. Select CASE WHEN (GROUPING(SupplierID) = 1) THEN '-1' ELSE SupplierID END AS SupplierID, SUM(UnitPrice) AS QtySum  
  2. FROM dbo.ProductsGROUP BY SupplierID WITH CUBE 

 

它首先檢查當(dāng)前行是否為匯總行,如果是就可以設(shè)置一個(gè)值,這里設(shè)置為 '-1' 。

 

【編輯推薦】

  1. SQL Server復(fù)制和其相關(guān)的工作原理
  2. MS SQL Server 未公開(kāi)的加密函數(shù)有哪些?
  3. 用SQL Server 2005DDL觸發(fā)器對(duì)數(shù)據(jù)庫(kù)進(jìn)行監(jiān)控
  4. SQL Server刪除重復(fù)數(shù)據(jù)的2個(gè)實(shí)用方案
  5. SQL Server數(shù)據(jù)庫(kù)相關(guān)數(shù)據(jù)大匯和
責(zé)任編輯:佚名 來(lái)源: eNet硅谷動(dòng)力
相關(guān)推薦

2010-07-09 14:51:21

SQL Server

2010-06-28 11:06:04

SQL Server

2009-01-14 09:28:12

OracleSQL10g

2010-11-11 11:13:54

SQL Server

2010-07-20 13:52:27

SQL Server

2009-09-10 10:37:15

LINQ to SQL

2010-09-07 11:53:00

SQL語(yǔ)句

2010-06-17 15:09:49

SQL Server

2010-09-17 09:35:51

SQL中if語(yǔ)句

2010-09-07 13:41:50

SQL語(yǔ)句

2010-07-07 10:54:22

SQL Server索

2010-11-11 11:49:02

SQL嵌套SELECT

2010-07-20 08:35:54

SQL Server鎖

2010-06-28 13:56:16

SQL Server代

2010-07-09 10:08:53

SQL Server函

2010-07-19 18:04:23

SQL Server鎖

2010-07-07 09:27:15

SQL Server索

2010-07-08 13:26:02

SQL Server

2010-11-12 10:53:41

sql server表

2010-07-02 08:53:06

MIS SQL Ser
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)