單表查詢時:
結果: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();