首頁 > 資料庫 > mysql教程 > 如何使用 COUNT() 計算 SQL 中滿足特定條件的行數?

如何使用 COUNT() 計算 SQL 中滿足特定條件的行數?

Linda Hamilton
發布: 2025-01-11 10:02:43
原創
199 人瀏覽過

How Can I Count Rows Meeting Specific Conditions in SQL Using COUNT()?

利用SQL COUNT()函數統計符合特定條件的行數

SQL中的COUNT()聚合函數通常統計列中所有非空值。但是,如果您只想統計滿足特定條件的行數呢?例如,只統計職位列中職位為「經理」的員工人數。

雖然WHERE子句為過濾行提供了直接的方法,但在需要同時統計經理和其他員工人數的情況下,WHERE子句可能不夠用。這時,COUNT()聚合函數中的條件式就派上用場了。

在COUNT()使用條件式

您可以利用COUNT()只統計非空值這一特性,而不是使用WHERE子句。透過使用條件式,您可以建立一個case語句,根據條件評估Position列並指派特定值。

範例1:使用Case和Count()

<code class="language-sql">select count(case Position when 'Manager' then 1 else null end)
from ...</code>
登入後複製

在這個查詢中,case語句評估Position欄位是否等於'Manager'。若為真,則賦值為1;否則,賦值為null。然後,COUNT()聚合函數對case表達式中的所有非空值求和,從而得到經理行數。

範例2:使用Case和Sum()

或者,您可以使用Sum()聚合函數和類似的條件表達式:

<code class="language-sql">select sum(case Position when 'Manager' then 1 else 0 end)
from ...</code>
登入後複製

這種方法也能得到經理行數,因為Sum()聚合函數對case表達式中指定的值求和,並有效地統計非零值(即Position等於'Manager'的行)。

以上是如何使用 COUNT() 計算 SQL 中滿足特定條件的行數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板