SQL 的一些数据过滤
一. 查找重复记录
1. 查找全部重复记录
Select * From 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1)
2. 过滤重复记录(只显示一条)
Select * From HZT Where ID In (Select Max(ID) From HZT Group By Title)
注:此处显示ID最大一条记录
二. 删除重复记录
1. 删除全部重复记录(慎用)
Delete 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1)
2. 保留一条
Delete HZT Where ID Not In (Select Max(ID) From HZT Group By Title)
三. 过滤select查询得到的重复数据
1. 过滤一次select查询中的重复数据:
select distinct HZD from t_Table where MZD in (...)
distinct
2. 过滤两次select查询中的重复数据:
select。。。where 。。(select 。。。。。。union select。。。。)
介绍几个SQL指令:
UNION,用于获取两个结果集的并集,会自动去掉结果集中的重复行,并会以第一列的结果进行排序
INTERSECT,用于获取两个结果集的交集,并且以第一列排序
MINUS,用于获取结果集的差集(或者说补集),显示第一个结果集存在的,第2个结果集不存在的数据
UNION ALL,与UNION相似,不同的是UNION ALL不会自动去处重复行,也不会以任何列排序
Ltrim,Rtrim,去除左右的不同字符串
以上个指令的具体用法去查资料,在此做个备忘