共用方式為


將查詢結果中的資料列分組 (Visual Database Tools)

適用於:SQL Server

如果您想要建立小計或顯示資料表子集的其他摘要資訊,您可以使用匯總查詢來建立群組。 每個群組摘要說明數據表中具有相同值之所有數據列的數據。

例如,您可能會想要在 titles 數據表中看到書籍的平均價格,但按發行者細分結果。 若要這樣做,您可以依發行者將查詢分組(例如,pub_id)。 產生的查詢輸出可能如下所示:

查詢結果:依發行者分組的平均價格

當您將資料分組時,只能顯示摘要或分組資料,例如:

  • 群組欄位的值(出現在 GROUP BY 子句中的那些值)。 在上述範例中,pub_id 是群組欄位。

  • 由 SUM() 和 AVG( 等聚合函數所產生的值。 在上述範例中,第二個數據行是使用AVG() 函式搭配 price 數據行所產生。

您無法顯示個別資料列的值。 例如,如果您只依發行者分組,則也無法在查詢中顯示個別標題。 因此,如果您將欄位新增到查詢結果中,查詢與檢視設計器 會自動將這些欄位新增到 SQL 窗格的語句中的 GROUP BY 子句中。 如果您想要將一個欄位進行匯總,您可以為該欄位指定一個聚合函數。

如果您依多個數據行分組,查詢中的每個群組都會顯示所有群組數據行的匯總值。

例如,對 titles 數據表的下列查詢按發行者(pub_id)和書籍類型(type)進行分組。 查詢結果會依發行者排序,並針對發行者產生的每種不同類型的書籍顯示摘要資訊:

SELECT pub_id, type, SUM(price) Total_price  
FROM titles  
GROUP BY pub_id, type  

產生的輸出可能如下所示:

查詢結果:依發行者分組的價格和類型

若要將數據列分組

  1. 將您想要摘要的數據表新增至 [圖表] 窗格,以啟動查詢。

  2. 以滑鼠右鍵單擊 [圖表] 窗格的背景,然後從快捷功能表選擇 [新增群組依據]。 查詢和檢視表設計工具會將 群組依據 數據行新增至 [準則] 窗格中的方格。

  3. 將您想要分組的欄新增至 [準則] 窗格。 如果您希望資料行呈現在查詢結果中,請選取 輸出 資料行以供輸出。

    查詢和檢視表設計工具會將 GROUP BY 子句新增至 SQL 窗格中的 語句。 例如,SQL 語句看起來可能像這樣:

    SELECT pub_id  
    FROM titles  
    GROUP BY pub_id  
    
  4. 將您想要匯總的欄位新增至 [準則] 窗格。 請確定資料列已標示為輸出。

  5. 在將要匯總的欄位的 [群組依據] 網格格子中,選取適當的聚合函數。

    查詢和檢視設計工具會自動將數據行別名指派給您要摘要的數據行。 您可以將這個自動產生的別名取代為更有意義的別名。 如需詳細資訊,請參閱 建立資料行別名

    將數據行別名新增至查詢結果集,

    SQL 窗格中的對應語句看起來可能像這樣:

    SELECT   pub_id, SUM(price) AS Totalprice  
    FROM     titles  
    GROUP BY pub_id  
    

另請參閱

排序和群組查詢結果