在 MySQL 中,COUNTIF
函数并不存在,但你可以使用 COUNT()
和 CASE
语句来实现类似的功能
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;
这里是一个具体的例子。假设我们有一个名为 orders
的表,其中包含 order_date
(订单日期)和 total_amount
(订单总金额)列。我们想要计算满足特定条件的订单数量,例如订单日期在 2021 年 1 月 1 日之后的订单数量,以及订单总金额大于 100 的订单数量。
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;
这将返回一个结果集,其中包含两列:count_if_order_date_after_2021
和 count_if_total_amount_gt_100
,分别表示满足每个条件的订单数量。