Mysql codeigniter php asc desc order by count结果使用php

Mysql codeigniter php asc desc order by count结果使用php,php,mysql,codeigniter,codeigniter-2,Php,Mysql,Codeigniter,Codeigniter 2,我有三个表名为: at\u类别: No.Of.Shops (ASC) (Desc) Category Name (ASC) (Desc) 3 Electronic Shops 1 Ice cream Shops 猫咪 名字 在分类法中: No.Of.Shops (ASC) (Desc) Category Name (ASC) (Desc) 3

我有三个表名为:

at\u类别:

No.Of.Shops (ASC) (Desc)    Category Name   (ASC) (Desc)

     3                         Electronic Shops
     1                         Ice cream Shops 
  • 猫咪
  • 名字
  • 在分类法中:

    No.Of.Shops (ASC) (Desc)    Category Name   (ASC) (Desc)
    
         3                         Electronic Shops
         1                         Ice cream Shops 
    
  • cat_分类法_id
  • 猫咪
  • 分类学
  • 在商店:

    No.Of.Shops (ASC) (Desc)    Category Name   (ASC) (Desc)
    
         3                         Electronic Shops
         1                         Ice cream Shops 
    
  • 店号
  • 店铺类别
  • 我想通过计算结果将这三个表连接起来

    例如,在
    at_category
    表中命名为电子商店的类别,其值将存储在
    at_category\u分类法
    表中,并且该类别id在
    at_shop
    表中有两个商店。与其他类别aaa、bbb、ccc等相同。可能有一个或两个店铺,或者零个店铺

    例如:

    1. at_category
    
        ______________
    
        cat_id   name
    
         1       Electronic Shops
         2       Ice Cream Shops
        _______________
    
        2. at_category_taxonomy
    
        _______________________________________________
    
        cat_taxonomy_id   cat_id   taxonomy
    
          3                 1       Electronic Shops
          4                 2       Ice Cream Shops
        _______________________________________________
    
        3. at_shop
    
        ________________________________
    
        shop_id   shop_name   shop_category
    
         1            A         1 (ie.Electronic Shops) 
         2            B         1 (ie.Electronic Shops) 
         3            C         1 (ie.Electronic Shops) 
         4            D         2 (ie.Ice Cream Shops) 
    
        ________________________________
    
    现在:类别电子商店有3个商店,冰淇淋店有1个商店

    预期输出:

    No.Of.Shops (ASC) (Desc)    Category Name   (ASC) (Desc)
    
         3                         Electronic Shops
         1                         Ice cream Shops 
    
    当我单击“车间数量”列中的asc订单时,输出将为

    No.Of.Shops (ASC) (Desc)    Category Name   (ASC) (Desc)
    
         1                          Ice cream Shops   
         3                          Electronic Shops
    
    这也是类别名称的虎钳诗句


    现在,我想通过使用codeigniter按desc订单计数店铺数量来显示结果。

    不确定这是否是最佳做法。如果数据库中有大量数据,也可能不太好。但我想建议

    1.将类别ID放入一个数组中

    2.为每个类别按如下方式连接表。(对数组使用foreach循环)

    在上面的代码中,
    $this->db->where
    ('at_category',从数组中获取ID

    3.
    $query
    是每个类别的结果

    4.每个类别的店铺数量可作为:

    $numberOfShos = $query->num_rows();
    
    选择电子邮件,通过电子邮件将(*)从订单组计算为c

    $this->db->select('COUNT(sh.shop_category) as No_of_shops,cat.name as category_name',FALSE);
    $this->db->from('at_shop sh');
    $this->db->join('at_category cat', 'cat.cat_id = sh.shop_category');
    $this->db->order_by('sh.shop_category');
    $query = $this->db->get();
    retuen $query->result_array();
    

    你能举个清楚的例子吗?我的意思是在3个表中显示一些数据。因此,我们可以理解并帮助您。在您的表格“at_shop”中,“shop_category”实际上是“shop_category_name”或“shop_category_id”?@kumar_v请查看编辑的段落并让我知道