在 SQL 中,您可以使用 COUNT
和 CASE
語句結合來實現多條件統計
SELECT
COUNT(CASE WHEN condition1 THEN 1 ELSE NULL END) AS count_condition1,
COUNT(CASE WHEN condition2 THEN 1 ELSE NULL END) AS count_condition2,
COUNT(CASE WHEN condition3 THEN 1 ELSE NULL END) AS count_condition3
FROM
your_table;
請將 your_table
替換為您的表名,并根據需要更改條件(condition1
、condition2
和 condition3
)。這個查詢將返回一個結果集,其中包含每個條件的計數。
例如,假設您有一個名為 orders
的表,其中包含列 order_date
和 order_status
。您想要統計今天的訂單數量、已完成的訂單數量和未完成的訂單數量。您可以使用以下查詢:
SELECT
COUNT(CASE WHEN order_date = CURRENT_DATE THEN 1 ELSE NULL END) AS count_today,
COUNT(CASE WHEN order_status = 'completed' THEN 1 ELSE NULL END) AS count_completed,
COUNT(CASE WHEN order_status = 'pending' THEN 1 ELSE NULL END) AS count_pending
FROM
orders;
這將返回一個結果集,其中包含三列:count_today
、count_completed
和 count_pending
,分別顯示今天的訂單數量、已完成的訂單數量和未完成的訂單數量。