如何:群組查詢結果中的資料列 (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
產生的輸出將如下所示:
若要將資料列分組
將您要摘要的資料表加入至 [圖表] 窗格,以便開始進行查詢。
在 [圖表] 窗格的背景上按一下滑鼠右鍵,然後從快速鍵功能表中選擇 [加入群組依據]。[查詢和檢視設計師] 會將 [群組依據] 資料行加入至 [準則] 窗格的方格中。
將您想分組的一或多個資料行加入至 [準則] 窗格。如果您想讓資料行出現在查詢輸出中,務必選取 [輸出] 資料行進行輸出。
查詢和檢視設計師會將 GROUP BY 子句加入至 [SQL] 窗格的陳述式中。例如,SQL 陳述式將如下所示:
SELECT pub_id FROM titles GROUP BY pub_id
將您想彙總的一或多個資料行加入至 [準則] 窗格。務必標記資料行以進行輸出。
在要彙總資料行的 [群組依據] 方格資料格中,選取適當的彙總函數。
[查詢和檢視設計師] 會自動將資料行別名指派給您要加總的資料行。您可以使用較有意義的別名取代這個自動產生的別名。如需詳細資訊,請參閱<如何:建立資料行別名 (Visual Database Tools)>。
[SQL] 窗格中的對應陳述式將如下所示:
SELECT pub_id, SUM(price) AS Totalprice FROM titles GROUP BY pub_id