如何快速检索出重复记录?
   有些情况下我们需要转换原有的数据到新table中, 但因为新表中有唯一关键字或索引, 常常因为存在重复记录而导致转换失败

用以上sql语句可以实现:
select fieldname from table_1 group by fieldname having count(*) > 1 ;
  
  将count()函数放在having计算出每一个组的记录个数,如果该组的记录个数大于 1,则说明fieldname存在重复情况 (可以同时查看多个字段重复记录)

说明:Having和Where子句意义差不多,都是在其中加入查询条件, 区别是where用于查询整张表的所有字段, 而having中的查询只能用到group by中出现的字段,并且条件的判断是其于组中的记录.所以以上having count(*) 是计算每个组的记录个数

再举一个特别例子:
select fieldname from table_1 group by fieldname having fieldname in ('a', 'b');
以上也是正确的,只要having后面出现的条件查询用到的字段属于group by中的就行.

以上是所有odbc标准支持的聚集函数:(根据后台所用数据库不同有可能有更多的增强函数)
sum() 求和
max() 最大值
min()  最小值
avg() 平均数
count() 求记录个数
weiking   2006-08-23 08:38:00 评论:1   阅读:325   引用:0
添加约束unique @2006-11-25 16:26:25  weiking
alter table table_1 add unique index(fieldname);
这样"fieldname"便不能重复.
如果已经有重复的字段,应这样 alter ignore table table_1 add unique index(fieldname); 
这样便可把重复的数据只保留一条.

发表评论>>

署名发表(评论可管理,不必输入下面的姓名)

姓名:

主题:

内容: 最少15个,最长1000个字符

验证码: (如不清楚,请刷新)

用,就用的漂亮点。文章嘛,借花献佛喽。