在 SQL 中,COUNTIF
和 GROUP BY
可以結(jié)合使用,以便根據(jù)特定條件對數(shù)據(jù)進行分組和計數(shù)
首先,我們需要了解 COUNTIF
和 GROUP BY
的基本語法:
COUNTIF
: 這是一個條件計數(shù)函數(shù),用于計算滿足特定條件的行數(shù)。它的語法如下:COUNTIF(condition)
GROUP BY
: 這是一個用于將相似數(shù)據(jù)分組在一起的子句。它的語法如下:GROUP BY column1, column2, ...
現(xiàn)在,讓我們看一個例子,說明如何在 SQL 查詢中同時使用 COUNTIF
和 GROUP BY
。
假設(shè)我們有一個名為 orders
的表,其中包含以下列:order_id
、customer_id
和 order_status
。我們想要計算每個客戶的已完成訂單數(shù)量。這可以通過以下查詢實現(xiàn):
SELECT
customer_id,
COUNTIF(order_status = 'completed') AS completed_orders
FROM
orders
GROUP BY
customer_id;
在這個查詢中,我們首先選擇 customer_id
列。然后,我們使用 COUNTIF
函數(shù)來計算每個客戶的已完成訂單數(shù)量。我們將 order_status
列與字符串 'completed'
進行比較,如果匹配,則計數(shù)器遞增。最后,我們使用 GROUP BY
子句按 customer_id
對結(jié)果進行分組。
這將返回一個結(jié)果集,其中包含每個客戶的 ID 和他們的已完成訂單數(shù)量。