在MYSQL中查找重复值的关键字

时间:2015-06-17 13:02:00

标签: mysql

我正在尝试使用此帖子中的答案在我的SQL数据库中的重复值中找到关键字“img”: Finding duplicate values in a SQL table。我想在我的数据库中选择那些在'question','option'或'solution'列中都有“img”关键字的重复值。

我的SQL语句如下所示:

SELECT
    `subject`, `topic`, `sub_topic`, `difficulty`,`question_number`,`question_version`, COUNT(*)
FROM
    `qz_question`
GROUP BY
    `topic`, `sub_topic`, `difficulty`,`question_number`,`question_version`
WHERE 
    `option` LIKE  '%img%' OR `question` LIKE  '%img%' OR `solution` LIKE  '%img%'

这会给我带来这个错误:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `option` LIKE '%img%' OR `question` LIKE '%img%' OR `solution` ' at line 7

如何更正此错误?需要一些指导。

1 个答案:

答案 0 :(得分:1)

你的sql有一些语法错误。我修改了该错误执行并看到

SELECT
        `subject`, `topic`, `sub_topic`, `difficulty`,`question_number`,`question_version`, COUNT(*)
    FROM
        `qz_question`
    WHERE 
        `option` LIKE  '%img%' OR `question` LIKE  '%img%' OR `solution` LIKE  '%img%'
    GROUP BY
        `topic`, `sub_topic`, `difficulty`,`question_number`,`question_version`

这些底部SQL仅显示重复记录。

SELECT `subject`, `topic`, `sub_topic`, `difficulty`,`question_number`,`question_version`, COUNT(*) as c
    FROM
        `qz_question`
    WHERE 
        `option` LIKE  '%img%' OR `question` LIKE  '%img%' OR `solution` LIKE  '%img%'
    GROUP BY
        `topic`, `sub_topic`, `difficulty`,`question_number`,`question_version`
        HAVING c > 1; 

谢谢。