Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 检索表中的重复项并显示它们_Mysql - Fatal编程技术网

Mysql 检索表中的重复项并显示它们

Mysql 检索表中的重复项并显示它们,mysql,Mysql,我得到了下表,其中如果超过1行包含相同的“用户徽章名称”和“用户电子邮件”,则视为重复 user_id | user_name | user_badge_name | user_email -------------------------------------------------- 234 | Kylie | ky001 | kylie@test.com 235 | Francois | FR007 | france@te

我得到了下表,其中如果超过1行包含相同的“用户徽章名称”和“用户电子邮件”,则视为重复

user_id | user_name | user_badge_name | user_email
--------------------------------------------------
234     | Kylie     | ky001           | kylie@test.com
235     | Francois  | FR007           | france@test.com 
236     | Maria     | MA300           | Marie@test.com
237     | Francine  | FR007           | france@test.com 
我需要显示那些复制了“user\u badge\u name”和“user\u email”的行的user\u id和用户名

我尝试了以下sql,但它没有返回所有的用户id,只返回第一个id

SELECT user_id, username , COUNT(user_badge_name) AS user_badge_name_Count FROM user GROUP BY user_badge_name HAVING user_badge_name_Count > 1

如果您想在同一行中查看所有用户ID,请使用
组\u CONCAT
,我们非常感谢您的建议:

SELECT GROUP_CONCAT(user_id) AS user_ids, GROUP_CONCAT(username) AS usernames, COUNT(user_badge_name) AS user_badge_name_Count FROM user GROUP BY user_badge_name HAVING user_badge_name_Count > 1
这会给你类似的东西:

user_ids | usernames         | user_badge_name_Count
-----------------------------------------------
235,237  | Francois,Francine | 2

如果要查看同一行中的所有用户ID,则可以使用
组\u CONCAT

SELECT GROUP_CONCAT(user_id) AS user_ids, GROUP_CONCAT(username) AS usernames, COUNT(user_badge_name) AS user_badge_name_Count FROM user GROUP BY user_badge_name HAVING user_badge_name_Count > 1
这会给你类似的东西:

user_ids | usernames         | user_badge_name_Count
-----------------------------------------------
235,237  | Francois,Francine | 2

如果目标是防止重复条目,为什么表结构允许重复条目?如果将
user\u email
user\u badge\u name
声明为唯一,则这些列中的重复项将永远不会出现问题。我使用的是已包含重复项的现有表。我只需要显示那些重复项如果目标是防止重复项,为什么表结构允许它们?如果将
user\u email
user\u badge\u name
声明为唯一,则这些列中的重复项将永远不会出现问题。我使用的是已包含重复项的现有表。我只需要显示那些重复的感谢“GROUP_CONCAT”建议感谢“GROUP_CONCAT”建议