在 SQL 中,CASE WHEN
语句常用于条件统计。它允许你根据一个或多个条件对数据进行分类,并对每个分类进行特定的操作。以下是一个基本的 CASE WHEN
语句的示例:
SELECT customer_id, SUM(CASE WHEN product_type = 'A' THEN sales ELSE 0 END) AS total_sales_A, SUM(CASE WHEN product_type = 'B' THEN sales ELSE 0 END) AS total_sales_B FROM sales_table GROUP BY customer_id;
在这个例子中,我们有一个销售表 sales_table
,其中包含 customer_id
(客户ID)、product_type
(产品类型)和 sales
(销售额)列。我们想要计算每个客户购买每种产品类型的总销售额。
使用 CASE WHEN
语句,我们可以对每个客户购买的每种产品类型进行条件求和。如果 product_type
是 ‘A’,则将 sales
值加到 total_sales_A
上;否则,加到 total_sales_B
上(这里我们假设当 product_type
不是 ‘A’ 时,它是 ‘B’,但你可以根据需要修改条件)。
最后,我们按 customer_id
对结果进行分组,以便为每个客户得到每种产品类型的总销售额。
这种用法在数据统计中非常常见,特别是当你需要根据某些条件对数据进行汇总或分析时。你可以根据需要修改条件和操作,以适应你的具体需求。