SQL取重复数据保留ID最小的一条记录

select whir$3136_f3914,whir$3136_f3916,whir$3136_lx,whir$3136_f3915
  from whir$3136 a
where  (a.whir$3136_f3916,
        a.whir$3136_f3914,
        a.whir$3136_f3915,
        a.whir$3136_lx) in (select whir$3136_f3916,
                                   whir$3136_f3914,
                                   whir$3136_f3915,
                                   whir$3136_lx
                              from whir$3136
                             group by whir$3136_f3916,
                                      whir$3136_f3914,
                                      whir$3136_f3915,
                                      whir$3136_lx
                            having count(*) > 1)
   and rowid not in (select min(rowid)
                       from whir$3136
                      group by whir$3136_f3916,
                               whir$3136_f3914,
                               whir$3136_f3915,
                               whir$3136_lx
                     having count(*) > 1)
   and whir$3136_date = '2011-12-27'

猜你喜欢

转载自xz-struggle.iteye.com/blog/1827568