共用方式為


如何:群組查詢結果中的資料列 (Visual Database Tools)

如果您要建立小計,或顯示資料表子集的其他摘要資訊,請使用彙總查詢 (Aggregate Query) 建立群組。每個群組都會針對資料表中具有相同值的所有資料列摘要資料。

例如,您可能想查看 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. 在要彙總資料行的 [群組依據] 方格資料格中,選取適當的彙總函數。

    [查詢和檢視設計師] 會自動將資料行別名指派給您要加總的資料行。您可以使用較有意義的別名取代這個自動產生的別名。如需詳細資訊,請參閱<如何:建立資料行別名 (Visual Database Tools)>。

    正在將資料行別名加入查詢結果集

    [SQL] 窗格中的對應陳述式將如下所示:

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