在 SQL 中,可以使用 CASE
語句和聚合函數(如 SUM
)來實現類似于 Excel 中 COUNTIF
功能的計算
SELECT
column1,
SUM(CASE WHEN column2 = 'condition' THEN 1 ELSE 0 END) AS countif_result
FROM
table_name
GROUP BY
column1;
這個查詢將基于 column1
進行分組,并計算每個組中滿足 column2 = 'condition'
條件的行數。CASE
語句會在滿足條件時返回 1,否則返回 0,然后使用 SUM
函數對這些值求和,得到滿足條件的總行數。
如果你想要計算滿足多個條件的行數,可以使用嵌套的 CASE
語句或者將條件組合起來。例如:
-- 使用嵌套的 CASE 語句
SELECT
column1,
SUM(CASE WHEN column2 = 'condition1' THEN 1 ELSE 0 END) AS countif_result1,
SUM(CASE WHEN column2 = 'condition2' THEN 1 ELSE 0 END) AS countif_result2
FROM
table_name
GROUP BY
column1;
-- 將條件組合起來
SELECT
column1,
SUM(CASE WHEN column2 = 'condition1' OR column2 = 'condition2' THEN 1 ELSE 0 END) AS countif_result
FROM
table_name
GROUP BY
column1;
這些查詢將分別計算滿足不同條件的行數,并將結果分別存儲在 countif_result1
和 countif_result2
列中。