分享

SQL 的一些数据过滤

 歆馨 2011-07-11

一. 查找重复记录

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,去除左右的不同字符串

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多