group by 和count 聯合使用問題


工作中要根據用戶發布的產品數量來排序做分頁,使用group by uid 用count(uid) 來統計的數量和想要的數量不正確。

count統計的數量是被group by 分組以后每一組中數據的數量,而不是分組的數量。

解決方法:使用子查詢

 

SELECT COUNT(1) FROM( 
  SELECT uid,COUNT(uid) FROM test GROUP BY product  
) test

 

里面的查詢結果是一個表,但是這個表沒有名字,不給他名字就報錯,所以加了一個別名test(隨便起)
count(1)也不是很好理解就換成count(fbrandid)或count(*)

 

總結:有時候是在解決不了時,不妨考慮下子查詢。雖然好多人說不要用子查詢~


免責聲明!

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



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