[SQL]count(*) 與 count(1) 比較

KouWei.Lee
2 min readOct 6, 2020

--

Photo by Caspar Camille Rubin on Unsplash

count( )計算資料有幾筆(幾列) 回傳比數

count(*) 回傳所有列數(包含欄位內有null)

count(1) 回傳所有列數(包含欄位內有null) 再有主鍵的情況下快

count(欄位別) 回傳列數(不包含NULL)

select count(1)from talbe;  
count(1) 是絕對快,它只統計記錄條數,對條件下的表掃描一遍而已
count(*) 是可能快,有主鍵的時候只掃主鍵,主鍵數等於記錄數
count(主鍵)=count(1)

計算SUM 時 使用 count(欄位) 避免蘭為NULL

可以將null值去除
總比數

--

--

No responses yet