温馨提示×

如何在SQL中结合COUNTIF进行数据透视

sql
小樊
85
2024-09-09 23:20:57
栏目: 云计算

在 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 的结果。

0