如何统计数据表中的重复数据(两条数据只有一个字段值不同)

来源:百度知道 编辑:UC知道 时间:2024/05/12 17:46:06
如何统计数据表中的重复数据,我这里指的相同的两条数据是指只有一个字段值不同,其它字段的值都相同的,如何从数据库里面得到,希望能指点一下。
例如表里有这两条数据:
a b c d e f g
a b c d e f h
我要统计的结果把这两条数据认成一条数据,如何进行操作?

select * from table where a=a and b=b and c=c and g<>h
这里的a,b,c,g,h你们是指的字段属性吧,我指的是该字段对应的属性,还有不只是两条记录,可能会是多条,但值是未知的。如果是a=a指的是数据的话,这是恒为真的条件,肯定能把所有记录查出来啊。

修改后的答案:
假设表的字段名非别是A,B,C,D,E,F,G,只有G是每行都不同的,也就是说字段G可以作为该表的主键。
那么语句可以这么写:
select * from table where G in(select max(G) from table group by A,B,C,D,E,F);
这样呢,就可以把重复的记录排除掉了。

如果是数据库,可以用SQL关联它自身:select a.name,a.number from table1 a,table1 b
where a.name=b.name and a.number=b.number and a.grade!=b.grade

如果是Excel的表,
1、假定要根据A,B列内容来判断是否有重复,请在其后插入两个空列(即D列和C列)。
2、在C1单元格输入1,按Ctrl+鼠标左键往下拉到相应行,即形成一个与行号相同的系列数。
3、选定全表,按A列排序,在D2单元格输入公式:
IF((A2=A1)*(B2=B1),"重复","")
将公式用填充柄向下复制到相应行。
4、选定全表,按D列排序,含有"重复"内容的行将集中在后面,可以一次删除。
5、再选定全表并按C列排序,恢复该表原来的顺序,最后删除D列和C列即可。

select * from table where a=a and b=b and c=c and g<>h
我感觉你这个想实现好像是不可能的.
因为你这个第一条记录先要跟每一次记录都比较,然后第二条记录也是一样.这样数据库的工作量太多了,如果数据少的话,还可以试试,数据只要有一点点大,数据库运行就会很慢了.