阅读量:0
在 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 的结果。