count 與 group by


單表查詢時:

結果:7條數據

結果:只顯示一條數據

 -----------------------------------------------------------------------------------------------------------------------------

再對比多表查詢:

加上count函數之后:

以上和單表查詢一樣,被查詢數據視為一組。

 

用 group by 分組函數,下面是以id 分組,每一個id是一組,一共分四組

結果:4條數據

加上count函數之后:

結果:4條數據

 

 

 

 

結論: count 函數  查詢結果集中每組數據個數,如果結果集中只有一組,則查詢的結果是一條數據!!

使用場景:與 group by 分組函數一起使用!!!

 


$list = Db::name('shop_collection')
->alias('a')
->where($where)
->leftjoin('bojie_shop_goods b', 'a.goods_id = b.id')
->leftjoin('bojie_shop_goods_class c', 'a.class_id = c.id')
->leftjoin('bojie_shop_goods_order_pay d', 'a.goods_id = d.goods_id')
->leftjoin('bojie_shop_list e', 'b.shop_id = e.id')
->field('a.url, b.title, b.img, b.price, c.class_name, count(d.id) count, e.shop_name')
->group('a.id')//有group時被分組,沒有時只能查詢一條數據
->page($page['pageNum'],$page['numPerPage'])
->order('a.id', 'desc')
->select();


免責聲明!

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



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