我正在尝试使用此帖子中的答案在我的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
如何更正此错误?需要一些指导。
答案 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;
谢谢。