利用COUNTIF在SQL中进行多条件统计

sql
330
2024/9/10 0:31:24
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在 SQL 中,您可以使用 COUNTCASE 语句结合来实现多条件统计

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 替换为您的表名,并根据需要更改条件(condition1condition2condition3)。这个查询将返回一个结果集,其中包含每个条件的计数。

例如,假设您有一个名为 orders 的表,其中包含列 order_dateorder_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_todaycount_completedcount_pending,分别显示今天的订单数量、已完成的订单数量和未完成的订单数量。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: date_sub在sql查询中的效率如何