如何结合聚合函数使用SQL Case When

sql
447
2024/8/30 18:31:10
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在 SQL 中,您可以使用 CASE WHEN 表达式与聚合函数(如 SUM、COUNT、AVG、MAX 和 MIN)结合使用

假设我们有一个名为 “orders” 的表格,其中包含以下列:order_id, customer_id, order_date 和 total_amount。现在,我们想要计算每个客户的平均订单金额,但只考虑订单金额大于 100 的情况。

以下是一个示例查询,展示了如何结合使用 CASE WHEN 和 AVG 聚合函数:

SELECT
    customer_id,
    AVG(CASE WHEN total_amount > 100 THEN total_amount ELSE NULL END) AS average_order_amount
FROM
    orders
GROUP BY
    customer_id;

在这个查询中,我们首先选择 “customer_id” 列。然后,我们使用 AVG 函数计算每个客户的平均订单金额。通过使用 CASE WHEN 表达式,我们可以确保只计算订单金额大于 100 的行。当 total_amount 大于 100 时,我们使用 total_amount 值;否则,我们使用 NULL(表示不计算此行)。最后,我们按 “customer_id” 对结果进行分组。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: sql casewhen语句怎么使用