今天收到一个任务,有一个学生信息表(表格excel),有10000多条记录,现在把表放到数据库中,并设置学生学号作为主键,但是现在这种学生ID的重复记录,我必须先找到重复的记录,然后进行筛选,研究问题得到解决。
上面的问题实际上是查询数据库表中字段值的重复记录。这里,我们想省略如何将excel表导入到数据库步骤中。我们只讨论SQL数据库中某一字段下同一值查询的方法。

现在假设数据库表名学生,同场SnO(学号),ID(ID),这是提供两种查询方式:

方法一:通过学校和身份证查询(数据库执行效率高、推荐性强)。

复制代码代码如下所示:
*选择
从学生作为
在(SnO(选择B在SnO学生张<>数据))


方法二:只通过学号字段来查询(数据库执行效率低,不推荐)

复制代码代码如下所示:
*选择
从学生作为
在(select count(*)从学生那里的SnO =查询所有学生的Sno)> 1


从操作结果来看,方法和方法是相同的,但执行效率却截然不同。一种方法只需要几秒钟就可以执行超过10000个数据,而且方法2需要几分钟,而且还有一个死机现象!!!!