在 SQL Server 中,可以使用 GROUP BY
子句對查詢結(jié)果進(jìn)行分組,以便對每個(gè)組執(zhí)行聚合函數(shù),如 COUNT、SUM、AVG 等。CASE WHEN
語句可以在查詢中用于條件篩選和計(jì)算,但它本身并不直接支持分組操作。
要在 SQL Server 中使用 CASE WHEN
進(jìn)行分組,可以將 CASE WHEN
語句嵌入到 SELECT
子句中,并使用聚合函數(shù)對每個(gè)組的結(jié)果進(jìn)行計(jì)算。以下是一個(gè)示例查詢,演示了如何使用 CASE WHEN
進(jìn)行分組:
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
語句用于根據(jù) condition1
的值將行分為兩個(gè)組(Group 1
和 Group 2
)。然后,使用 COUNT(*)
函數(shù)計(jì)算每個(gè)組的記錄數(shù),并將結(jié)果按組名分組。
請注意,在使用 CASE WHEN
進(jìn)行分組時(shí),必須確保每個(gè)組具有唯一的名稱,以便正確地對結(jié)果進(jìn)行分組。此外,還可以根據(jù)需要使用其他聚合函數(shù)和條件篩選來定制查詢結(jié)果。