"来自:rdy808, 时间:2007-6-22 9:08:00, ID:3801629<br>jenhon 好像不行啊 ,你那段语句,上半部分查询结果不多啊,我重复了24行,但只查出来了14行,我的表里面用了4个重复的字段。你试下,看是不是和我一样,我们在讨论一下。 "<br><br>你能不能尝试减少field1 field2 field3.. 的数量,看少到哪里就对了,应该那个字段确实没重复,比如日期: 2007-06-22 9:00 和 2007-06-22 9:01 就不一样。<br><br>你说的重复了24行,但是只查出了14行,是指24行都是相同重复了,应该删除23行;还是指24行可能包含相同的,只列出了其中的14种情况?<br><br>我认为我的语句在逻辑上很清楚了,效率就不敢恭维,但是结构简单,可以放在语句里面自动生成字段的判断。<br>如果逻辑上没什么问题,结果不对就应该有其他原因,毕竟我们不用怀疑计算机的计算能力啊。我没有SQL好调试,帮忙研究啊。<br><br>帮忙调试这2个: <br>select * from table1 <br>where <br>field1 in (select field1 from table1 group by field1 having count(*)>1)<br>and field2 in (select field2 from table1 group by field2 having count(*)>1)<br>....count(*)>1)<br><br>比较:<br>select min(id) as id1,field1,field2,.... <br>from table1 <br>group by field1,field2,.... <br>having count(*)>1)<br><br>看结果的不同之处啊。