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