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
,去除左右的不同字符串
以上个指令的具体用法去查资料,在此做个备忘。
自己做实验后,有两个截图为证。
注意:
SQL SELECT DISTINCT 语句
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。
关键词 DISTINCT 用于返回唯一不同的值。


浙公网安备 33010602011771号