溫馨提示×

如何在SQL中結(jié)合COUNTIF進行數(shù)據(jù)透視

sql
小樊
84
2024-09-09 23:20:57
欄目: 云計算

在 SQL 中,可以使用 CASE 語句和聚合函數(shù)(如 SUM)來實現(xiàn)類似于 COUNTIF 的功能

首先,我們需要創(chuàng)建一個示例表格:

CREATE TABLE sales_data (
    id INT PRIMARY KEY,
    product_name VARCHAR(255),
    sales_amount INT
);

接下來,插入一些示例數(shù)據(jù):

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);

現(xiàn)在,我們將使用 CASE 語句和 SUM 函數(shù)來計算每個產(chǎn)品的銷售額大于等于100的次數(shù):

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;

這將返回以下結(jié)果:

product_name | countif_sales_amount_ge_100
-------------|---------------------------
Product A    |                         3
Product B    |                         2
Product C    |                         1

在這個查詢中,我們使用了 CASE 語句來檢查 sales_amount 是否大于等于 100。如果滿足條件,則返回 1,否則返回 0。然后,我們使用 SUM 函數(shù)對每個產(chǎn)品的結(jié)果進行求和,得到類似于 COUNTIF 的結(jié)果。

0