如何在同一个数据库表中查询出相同的记录

如何在同一个数据库表中查询出相同的记录,第1张

方法如下:

select from 你的表名

a where id=(select min(id) from 你的表名 whereitem_id=aitem_id)

在查询之前先把数据库表中的第一行复制到sid里在去,然后让sid和下面的每一行进行比较

取所有相同的行的最小的一下,也可以取最大的,结果是一样的。

这样让所有的行都比较不就得到不重复的数据了。

查询的 *** 作方法和步骤如下:

1、首先,创建一个测试表,如下图所示,然后进入下一步。

2、其次,完成上述步骤后,插入测试数据,如下图所示,然后进入下一步。

3、接着,完成上述步骤后,比较两个表的数据,可以发现表2的数据多于表1的数据,如下图所示,然后进入下一步。

4、然后,完成上述步骤后,表1比表2多了一些数据,如下图所示,然后进入下一步。

5、最后,完成上述步骤后,插入在表1中多的数据,执行sql,可以发现插入了多个记录,如下图所示。这样,问题就解决了。

首先根据提交的用户名,从数据库中获取用户名及密码

select username,pwd from usertable where username='"+提交的用户名+"'

得到数据库中真实的密码后,与提交的密码比较,如果相同则允许登录否则提示密码错误。

实现方式如下:

  Dim cnn As Object, rs As Object, SQL$, i&, s$

    Set cnn = CreateObject("ADODBConnection")

    cnnOpen "Provider=MicrosoftJetOledb40;data Source=" & ThisWorkbookPath & "\排课数据mdb"

    SQL = "Select 星期&节&班级,count(星期&节&班级) from 排课 where 星期 is not null group by 星期&节&班级 having count(星期&节&班级)>1"

    Set rs = CreateObject("ADODBRecordset")

    rsOpen SQL, cnn, 1, 3

    If rsRecordCount Then

        For i = 1 To rsRecordCount

            s = s & vbCrLf & "星期" & rsFields(0) & "班,重复次数:" & rsFields(1)

            rsMoveNext

        Next

        MsgBox "有" & rsRecordCount & "条记录重复:" & s

    Else

        MsgBox "没有发现重复记录"

    End If

    rsClose

    cnnClose

    Set rs = Nothing

    Set cnn = Nothing

End Sub

1。删除全部重复记录(慎用) 

Delete表Where重复字段In(Select重复字段From表GroupBy重复字段HavingCount()>1)

2。保留一条(这个应该是大多数人所需要的^_^)

DeleteHZTWhereIDNotIn(SelectMax(ID)FromHZTGroupByTitle)

注:此处保留ID最大一条记录

3、查找表中多余的重复记录(多个字段) 

selectfromvitaea

where(apeopleId,aseq)in(selectpeopleId,seqfromvitaegroupbypeopleId,seqhavingcount()>1)

4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录

deletefromvitaea

where(apeopleId,aseq)in(selectpeopleId,seqfromvitaegroupbypeopleId,seqhavingcount()>1)

androwidnotin(selectmin(rowid)fromvitaegroupbypeopleId,seqhavingcount()>1)

在索引相同情况下,效率差不多。不过还要经过严格测试才能知道答案。

说实话,这两个方法效率都不高,原因是使用正则或者like时,一般情况下,索引会失效。

建议使用全文索引。

M23单元格输入公式=INDEX(AC:AC,SMALL(IF(AB$9:AB$18=N23,ROW(AB$9:AB$18)),COUNTIF(N$23:N23,N23)))

数组公式,Ctrl+Shift+回车,下拉。

如果不要AC辅助列,将公式中的AC:AC改成B:B即可。

以上就是关于如何在同一个数据库表中查询出相同的记录全部的内容,包括:如何在同一个数据库表中查询出相同的记录、SQL查询数据库中完全相同的两条数据、如何实现用户提交表单与数据库数据相匹配就是当用户名与密码与数据库里面的数据相匹配时可以登录,谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9288620.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存