在 SQL Server 中,可以使用 GROUP BY 子句對查詢結果進行分組,以便對每個組執行聚合函數,如 COUNT、SUM、AVG 等。CASE WHEN 語句可以在查詢中用于條件篩選和計算,但它本身并不直接支持分組操作。
要在 SQL Server 中使用 CASE WHEN 進行分組,可以將 CASE WHEN 語句嵌入到 SELECT 子句中,并使用聚合函數對每個組的結果進行計算。以下是一個示例查詢,演示了如何使用 CASE WHEN 進行分組:
SELECT
CASE
WHEN condition1 THEN 'Group 1'
ELSE 'Group 2'
END AS GroupName,
COUNT(*) AS Count
FROM
your_table
GROUP BY
CASE
WHEN condition1 THEN 'Group 1'
ELSE 'Group 2'
END;
在上述查詢中,CASE WHEN 語句用于根據 condition1 的值將行分為兩個組(Group 1 和 Group 2)。然后,使用 COUNT(*) 函數計算每個組的記錄數,并將結果按組名分組。
請注意,在使用 CASE WHEN 進行分組時,必須確保每個組具有唯一的名稱,以便正確地對結果進行分組。此外,還可以根據需要使用其他聚合函數和條件篩選來定制查詢結果。