现在我们有一张题库表(sys_topic),表内有题目选项等字段,如下所示:
id | topic | A | B | C |
---|---|---|---|---|
1 | 123 | 我是选项A | 我是选项B | 我是选项C |
2 | 仙桃 | 我是选项A | 我是选项B | 我是选项C |
3 | 仙桃 | 我是选项A | 我是选项B | 我是选项C |
4 | happyhappyhappy | 我是选项A | 我是选项B | 我是选项C |
现在我们需要根据题目去查重,我们其实只需要在sql语句上做文章便可实现该功能
先来展示sql语句:
select * from sys_topic where topic in
(select topic from sys_topic group by topic having count(topic) > 1)
现在让我们来一起解读一下这段代码:
这个 子查询 查询题目并根据题目分组,再获取到分组后数量大于1的题目,即重复的题目,于是我们在外层的查询便是查询出那些题目等于这些重复题目,根据所需查询出自己想要的东西
实现出来的效果便是这样