在 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,分别显示今天的订单数量、已完成的订单数量和未完成的订单数量。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: SQL交集、并集和差集的使用及运算优先级比较详解