oracle 使用count()函數進行分組計數時所踩的坑!


1.情景展示

  需要對id_card字段按字符長度進行分組統計並進行計數。

2.錯誤方式

  第一步:統計出id_card字段共存在幾種情況。

  第一種方式:distinct

  第二種方式:group by

  第二步:分組計數

  計數只能通過group by來實現。

  問題就在於:

  當id_card字段內容為空(null)時,這個地方計數實際是錯誤的!

  因為count()函數自動將字段id_card的為null的值去掉了!而實際需要將該字段為空的行數據也統計在內。

 

3.解決方案

  使用count(1)解決。

  說明:

  count(1)和count(*),這兩個函數計數的時候,都會將null統計在內,也包括重復記錄;

  count(字段名) ,這個函數會自動將該字段值為null的記錄排除在外,也包括重復記錄。

 

寫在最后

  哪位大佬如若發現文章存在紕漏之處或需要補充更多內容,歡迎留言!!!

 相關推薦:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM