在 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 进行分组时,必须确保每个组具有唯一的名称,以便正确地对结果进行分组。此外,还可以根据需要使用其他聚合函数和条件筛选来定制查询结果。