【问题标题】:query in sql codeigniter在 sql codeigniter 中查询
【发布时间】:2012-07-25 21:19:10
【问题描述】:

我有一张桌子票(用户名、帖子、方案) 用户可能有可能的帖子。 例如,

____________________________________
username  |    posts   |    scheme |
__________|____________|___________|
A         |    post1   |      10   |
__________|____________|___________|
B         |    post2   |      2    |
__________|____________|___________|
B         |    post 3  |      13   |
__________|____________|___________|
A         |    post 4  |      21   |
__________|____________|___________|
A         |    post 5  |      -1   |
__________|____________|___________|

我的查询应该生成具有标题总数和总声誉的输出不同用户名。即,

_______________________
|A   |   3   |   30    |
|____|_______|_________|
|B   |   2   |   15    |
|____|_______|_________|

我的模型函数:-

function getAllUsers(){                      
        $this->db->distinct();
        $this->db->select('username,COUNT(title) AS numtitle');
        $this->db->where('site_referers_id',1);
        return $this->db->get('tbl_tickets');
     }

但这似乎不起作用:(

【问题讨论】:

  • 您还需要按用户名分组,$this->db->group_by('username');

标签: php mysql codeigniter


【解决方案1】:

我知道这个问题很早以前就问过了,但是旧的答案并没有引起作者的注意。 用 SQL 试试:

$sql ="SELECT count(*),username,SUM(scheme) FROM `tble_one` group by username";
$result = $this->db->query($sql)->get();

【讨论】:

    【解决方案2】:

    您应该使用$this->db->group_by() 而不是distinct

    function getAllUsers(){                      
      $this->db->select('username, COUNT(*) AS numtitle, SUM(scheme) AS total');
      $this->db->where('site_referers_id',1);
      $this->db->group_by('username');
      return $this->db->get('tbl_tickets');
    }
    

    【讨论】:

      【解决方案3】:

      检查此代码

          $this->db->select('username,COUNT(title) AS numtitle');
          $this->db->where('site_referers_id',1);
           $this->db->group_by('username');
          return $this->db->get('tbl_tickets');
      

      你会得到完美的结果

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-06-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多