Php 使用SQL查询获取重复的列

Php 使用SQL查询获取重复的列,php,mysql,sql,Php,Mysql,Sql,我有一个用户表,其中包含id_User、firstname和name列。 我想列出所有重复的值 我这样做: $query = $this->db->select('user.nom, COUNT(*) as count', false) ->from('user') ->group_by('user.nom') ->havi

我有一个用户表,其中包含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,但没有成功。我也试着这么做,我想把名字和名字连在一起,然后按它分组,但不起作用:

$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();

我可以使用什么使其工作?

您应该在select命令中添加全名。 对于此代码:

$query = $this->db->select('user.name, COUNT(*) as count', false)
                         ->from('user')
                         ->group_by('user.name')
                         ->having('COUNT(*) >', 1);
请将(添加user.fullname)更改为:


希望它能解决您的问题;)

双分组方法:

$query = $this->db->select('user.name, user.prenom, COUNT(*) as count', false)
                        ->from('user')
                        ->group_by('user.name, user.prenom')
                        ->having('COUNT(*) >', 1);

    return $query->get()->result();
CONCAT方法:

$sql = "SELECT CONCAT(user.name, ', ', user.prenom) AS name, COUNT(*) FROM user GROUP BY name HAVING COUNT(*) > 1";
$sql = "SELECT * FROM user AS a JOIN user AS b ON a.name = b.name AND a.prenom = b.prenom AND a.id != b.id"
加入方法:

$sql = "SELECT CONCAT(user.name, ', ', user.prenom) AS name, COUNT(*) FROM user GROUP BY name HAVING COUNT(*) > 1";
$sql = "SELECT * FROM user AS a JOIN user AS b ON a.name = b.name AND a.prenom = b.prenom AND a.id != b.id"

你对user.name的列名做了什么编辑?@gofr1我试过了,但查询不起作用anymore@f_anto我编辑它是因为我以前是用英语写的,我的专栏是用法语写的,我不想让你觉得我在这两个例子中选错了专栏。我明白了,你试过像我这样的评论吗?很高兴帮助你。但请再试试最后一个。我最喜欢这个解决方案:)