sql

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

小樊
145
2024-09-09 23:16:54
栏目: 云计算

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

0
看了该问题的人还看了