在 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” 對結果進行分組。