如何查找数据库中的重复数据

如何查找数据库中的重复数据,第1张

1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断

select * from peoplewhere peopleId in (select   peopleId from   people group by   peopleId having count (peopleId) >1)

2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录

delete from people where peopleId in (select   peopleId from people group by   peopleId   having count (peopleId) >1)and rowid not in (select min(rowid) from   people group by peopleId having count(peopleId )>1)

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

select * from vitae awhere (a.peopleId,a.seq) in   (select peopleId,seq from vitae group by peopleId,seq having

扩展资料

FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。

在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。

例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定:

SELECTusername,citytable.cityid

FROMusertable,citytable

WHEREusertable.cityid=citytable.cityid

在FROM子句中可用以下两种格式为表或视图指定别名

表名 as 别名

表名 别名

参考资料:百度百科 SELECT语句

依次处理list的元素list[i],用dup装去重元素,mul装重复元素。先检查dup是否包含元素list[i],如果包含则加入mul中。如果没有则加入dup中。最后mul中就是重复数据,dup中就是去掉重复元素的列表。下面是一个实例,首先生成一个列表list,然后找出重复元素。

public class Duplication

{

    public static void main(String[] args)

    {

        List<Integer> list = new ArrayList<Integer>()

        for(int i = 1i <= 10i++)

        {

            if(i%3 == 0) continue

            if(i%2 == 0)

            {

                list.add(i)

                list.add(i)

            }

            else

                list.add(i)

        }

        System.out.println(list)

        

        List<Integer> dup = new ArrayList<Integer>()

        List<Integer> mul = new ArrayList<Integer>()

        for(int a:list)

        {

            if(dup.contains(a))

                mul.add(a)

            else dup.add(a)

        }

        System.out.println(dup)

        System.out.println(mul)

    }

}


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

原文地址:https://54852.com/sjk/6896347.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存