*SQL 中 COUNT() 與 COUNT(Column) 的差異**
在 SQL 中,聚合函數 COUNT(*) 和 COUNT(column) 分別提供用於計數表中資料行和列的不同機制。
COUNT() 統計指定表中的所有行,不包含 NULL 值。這意味著 COUNT() 傳回非 NULL 行的總數,而不管哪些欄位包含資料。
另一方面,COUNT(column) 統計指定列不為 NULL 的行數。這允許選擇性地統計特定列中的非 NULL 值。
*用 COUNT() 取代 COUNT(column)**
將查詢中所有 COUNT(column_name) 實例替換為 COUNT(*) 將產生以下影響:
示範
為了說明這種差異,讓我們重現原始問題中概述的場景:
<code class="language-sql">create table #bla(id int,id2 int) insert #bla values(null,null) insert #bla values(1,null) insert #bla values(null,1) insert #bla values(1,null) insert #bla values(null,1) insert #bla values(1,null) insert #bla values(null,null) select count(*),count(id),count(id2) from #bla</code>
結果:
<code>7 3 2</code>
在此範例中,COUNT(*) 列統計所有七行,包括兩行 id 和 id2 都為 NULL 的行。 COUNT(id) 欄位僅統計 id 不為 NULL 的三行,而 COUNT(id2) 統計 id2 不為 NULL 的兩行。
以上是COUNT(*) 與 COUNT(Column):SQL 行計數有何不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!