阅读量:0
在 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
,分别显示今天的订单数量、已完成的订单数量和未完成的订单数量。