sql

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

小樊
147
2024-08-30 16:58:48
栏目: 云计算

在 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” 对结果进行分组。

0
看了该问题的人还看了