透過集合函數(如 SUM、AVG、COUNT)、行集合函數、GROUP BY 及 COMPUTE 子句,可對查詢結果進行多層次統計分析。
不分組,直接對所有符合條件的資料統計,僅產生單一結果列:
SELECT 'average price' = AVG(price) FROM titles WHERE type = 'business';
依指定欄位分組統計,SELECT 清單中非集合函數欄位必須全部出現在 GROUP BY 中。
SELECT type, AVG(price) AS 'average price' FROM titles GROUP BY type;
對分組後的統計結果進一步篩選,類似 WHERE 但作用於群組。可使用集合函數與邏輯運算子(最多 128 條件)。
搭配 WHERE 使用時,ALL 會列出所有群組,即使不符合 WHERE 條件的群組也會顯示(統計值為 NULL)。
顯示詳細資料與統計摘要,需搭配 ORDER BY 使用,COMPUTE BY 欄位須與 ORDER BY 一致或為其子集。
SELECT ... INTO 可將查詢結果寫入新表,新表結構依 SELECT 清單欄位自動建立。
SELECT * INTO #new_publishers FROM publishers WHERE country = 'USA';
此處 #new_publishers 為暫存表(臨時表),僅在目前連線有效。