【问题标题】:Codeigniter Count rows with distinct valuesCodeigniter 计数具有不同值的行
【发布时间】:2012-06-12 18:59:31
【问题描述】:

我要做的是按不同的值对表的行进行分组,然后对结果进行计数,同时还将计数与不同的值相关联。

所以我有一张这样的桌子:

标识 |会员.id |值1 |值2 |等等

我需要计算每个 member.id 关联的行数,并返回如下所示的数组。

array(
  [member.id1] ['count'] => 'rowcount'
  [member.id2] ['count'] => 'rowcount'
   etc.
  )

我真的很困惑如何使用 Codigniter 的 ActiveRecord 来做到这一点,我不想在 foreach 循环中运行另一个数据库查询。关于我应该采取什么方向的任何帮助将是最有帮助的。

【问题讨论】:

  • 我想我已经弄清楚了,但它要求我在 foreach 循环中运行查询。基本上我正在运行一个查询来获取不同的 member.id,然后我使用该数组运行一个 foreach 并计算具有匹配 member.id 的列并将这些结果放入另一个数组中。它对我来说似乎不是很优雅,但它确实有效。
  • 获取/计算唯一会员 ID 的代码是什么?

标签: mysql codeigniter codeigniter-2


【解决方案1】:

试试看:

$items = $this->db->select('id, COUNT(id) AS count', false)
                  ->from('table')
                  ->group_by('member.id')
                  ->get()->result();

输出 - 具有 id 用户和计数的对象数组。

【讨论】:

  • 效果很好。我只需将“member.id”添加到 select 语句中即可将其添加到数组中,它完全符合我的需要。谢谢!
猜你喜欢
  • 1970-01-01
  • 2021-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-05
  • 1970-01-01
  • 2018-08-09
相关资源
最近更新 更多