我想在MYSQL中显示重复值的所有列。
我根据这篇文章选择MYSQL中的重复值:Finding duplicate values in a SQL table。
我的sql语句如下所示:
parse_url
我希望显示数据库中所有重复值的所有列,而不是按列分组。
我试过这个:
SELECT
`subject`, `topic`, `sub_topic`, `difficulty`,`question_number`,`question_version`, COUNT(*)
FROM
`qz_question`
GROUP BY
`topic`, `sub_topic`, `difficulty`,`question_number`,`question_version`
HAVING
COUNT(*) > 1
例如,对于每个唯一行,都有一个副本。它应该同时显示唯一和副本。但是这只显示一个唯一的行。我也想要副本。
答案 0 :(得分:0)
我认为你正在尝试做这样的事情:
SELECT q1.*, q2.dups
FROM qz_question q1
JOIN ( SELECT subject ,
topic ,
sub_topic ,
difficulty ,
question_number ,
question_version ,
COUNT(*) AS dups
FROM qz_question
GROUP BY topic ,
sub_topic ,
difficulty ,
question_number ,
question_version
HAVING COUNT(*) > 1
) q2 ON q1.topic = q2.topic
AND q1.sub_topic = q2.sub_topic
AND q1.difficulty = q2.difficulty
AND q1.question_number = q2.question_number
AND q1.question_version = q2.question_version