请教SQL查询符合条件的重复记录的方法。例如有数据表有数据列N列假设为A1、A2、A3、A4、....An,有2万条记录,如果以“A2 and A3 and A4”三列为复合条件,那么数据表中的记录大部分“A2 and A3 and A4”是唯一的,有一些以“A2 and A3 and A4”为条件会有2条2条以上的记录。那么如何用SQL语句筛选出全部“A2 and A3 and A4”为条件的有重复的记录?
请教SQL查询符合条件的重复记录的方法。例如有数据表有数据列N列假设为A1、A2、A3、A4、....An,有2万条记录,如果以“A2 and A3 and A4”三列为复合条件,那么数据表中的记录大部分“A2 and A3 and A4”是唯一的,有一些以“A2 and A3 and A4”为条件会有2条2条以上的记录。那么如何用SQL语句筛选出全部“A2 and A3 and A4”为条件的有重复的记录?
--sorry多了where
select A1,A5,A6,...,An
from
表A
where
A2 and A3 and A4
group by
A1,A5,A6,...,An
having count(A1)>1这样就会选出重复记录的数据了,在group by子句中,包含在select子句中的被聚合函数包含的列不要写进来.你试试看这个方法行不行.
(select 0 from 表A b where a.A2=b.A2 and a.A3=b.A3 and a.A4=b.A4 group by b.A2,b.A3,b.A4 having count(*)>1)
-->>
select * from 表 group by aA2, A3 , A4 having count(*)>1
先试试re: HEROWANG
select * from 表 group by aA2, A3 , A4 having count(*)>1试验了,提示错误:“在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。”