
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)
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)