溫馨提示×

Case When在分組統計中的應用

sql
小樊
171
2024-08-30 16:53:55
欄目: 編程語言

CASE WHEN 是 SQL 語言中的一個條件表達式,它可以在分組統計查詢中應用,用于對數據進行分類和計算

以下是一個使用 CASE WHEN 的分組統計示例。假設我們有一個名為 orders 的表,其中包含以下列:order_id、customer_id、order_dateamount?,F在,我們想要根據訂單金額將客戶分為三類:小額訂單(<100)、中等訂單(100-500)和大額訂單(>500),并計算每個類別的訂單數量。

SELECT
  customer_id,
  COUNT(CASE WHEN amount < 100 THEN 1 END) AS small_orders,
  COUNT(CASE WHEN amount >= 100 AND amount <= 500 THEN 1 END) AS medium_orders,
  COUNT(CASE WHEN amount > 500 THEN 1 END) AS large_orders
FROM
  orders
GROUP BY
  customer_id;

在這個查詢中,我們使用了 CASE WHEN 表達式來對訂單金額進行分類。當訂單金額滿足特定條件時,CASE WHEN 會返回 1,否則返回 NULL。然后,我們使用 COUNT() 函數來計算每個類別的訂單數量。注意,COUNT() 函數不會計算 NULL 值,因此只有滿足條件的行才會被計算。

這個查詢將返回一個結果集,其中包含每個客戶的 ID 以及他們的小額訂單、中等訂單和大額訂單的數量。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女