溫馨提示×

如何編寫高效的MySQL COUNTIF查詢語句

小樊
87
2024-09-13 06:08:12
欄目: 云計算

在 MySQL 中,COUNTIF 函數(shù)并不存在,但你可以使用 COUNT()CASE 語句來實現(xiàn)類似的功能

SELECT
    COUNT(CASE WHEN condition1 THEN 1 ELSE NULL END) AS count_if_condition1,
    COUNT(CASE WHEN condition2 THEN 1 ELSE NULL END) AS count_if_condition2
FROM
    your_table;

這里是一個具體的例子。假設(shè)我們有一個名為 orders 的表,其中包含 order_date(訂單日期)和 total_amount(訂單總金額)列。我們想要計算滿足特定條件的訂單數(shù)量,例如訂單日期在 2021 年 1 月 1 日之后的訂單數(shù)量,以及訂單總金額大于 100 的訂單數(shù)量。

SELECT
    COUNT(CASE WHEN order_date > '2021-01-01' THEN 1 ELSE NULL END) AS count_if_order_date_after_2021,
    COUNT(CASE WHEN total_amount > 100 THEN 1 ELSE NULL END) AS count_if_total_amount_gt_100
FROM
    orders;

這將返回一個結(jié)果集,其中包含兩列:count_if_order_date_after_2021count_if_total_amount_gt_100,分別表示滿足每個條件的訂單數(shù)量。

0