【发布时间】:2016-07-01 08:09:07
【问题描述】:
我有一个包含 id_user、firstname 和 name 列的用户表。 我想列出所有重复的值。
我这样做了:
$query = $this->db->select('user.nom, COUNT(*) as count', false)
->from('user')
->group_by('user.nom')
->having('COUNT(*) >', 1);
return $query->get()->result();
这有效,但仅适用于名称。它给出了重复的名称,并计算了它出现的次数。问题是有时有两个同名但名字不同的用户。如何通过连接两列来检查重复项?
我尝试使用 GROUP_CONCAT 没有成功。我也试过这样做,我想连接名字和名字,然后 group_by 它,但不起作用:
$query = $this->db->select('CONCAT(user.nom, ' ', user.prenom) as usr, COUNT(*) as count', false)
->from('user')
->group_by('usr')
->having('COUNT(*) >', 1);
return $query->get()->result();
我可以用什么让它工作?
【问题讨论】:
-
user.name 的列名你编辑了什么?
-
@gofr1 我试过了,但是查询不灵了
-
@f_anto 我编辑了它,因为我以前用英文写过,我的专栏是法文的,我不想让你感到困惑,以为我在两个示例中选择了错误的列
-
好吧,我明白了,你有没有像我的评论一样尝试过?