zoukankan      html  css  js  c++  java
  • 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();
  • 相关阅读:
    bzoj4152 [AMPPZ2014]The Captain
    bzoj2429 [HAOI2006]聪明的猴子
    bzoj1196 [HNOI2006]公路修建问题
    bzoj1083 [SCOI2005]繁忙的都市
    bzoj1050 [HAOI2006]旅行comf
    bzoj1088 [SCOI2005]扫雷Mine
    bzoj1085 [SCOI2005]骑士精神
    bzoj3437 小P的牧场
    bzoj1296 [SCOI2009]粉刷匠
    A1046 Shortest Distance (20)(20 分)
  • 原文地址:https://www.cnblogs.com/wangyuyanhello/p/8434764.html
Copyright © 2011-2022 走看看