在 SQL 中,可以使用 CASE
语句和聚合函数(如 SUM
)来实现类似于 COUNTIF 的功能
首先,我们需要创建一个示例表格:
CREATE TABLE sales_data (
id INT PRIMARY KEY,
product_name VARCHAR(255),
sales_amount INT
);
接下来,插入一些示例数据:
INSERT INTO sales_data (id, product_name, sales_amount)
VALUES (1, 'Product A', 100),
(2, 'Product B', 200),
(3, 'Product A', 150),
(4, 'Product C', 300),
(5, 'Product B', 250),
(6, 'Product A', 50);
现在,我们将使用 CASE
语句和 SUM
函数来计算每个产品的销售额大于等于100的次数:
SELECT product_name,
SUM(CASE WHEN sales_amount >= 100 THEN 1 ELSE 0 END) AS countif_sales_amount_ge_100
FROM sales_data
GROUP BY product_name;
这将返回以下结果:
product_name | countif_sales_amount_ge_100
-------------|---------------------------
Product A | 3
Product B | 2
Product C | 1
在这个查询中,我们使用了 CASE
语句来检查 sales_amount
是否大于等于 100。如果满足条件,则返回 1,否则返回 0。然后,我们使用 SUM
函数对每个产品的结果进行求和,得到类似于 COUNTIF 的结果。