select pi.bar_code, count(pi.bar_code)
from sc_tm_product_info pi
group by pi.bar_code
having count(pi.bar_code) > 1;这条sql语句,查处数据库中条形码相同的数据,并列出了条形码编号,重复数量。
现在我要列出另一个字段,更新日期update_date.
如果我用这条sql:select pi.bar_code, pi.update_date, count(pi.bar_code)
from sc_tm_product_info pi
group by pi.bar_code, pi.update_date
having count(pi.bar_code) > 1;这样肯定不对吧。结果集少了很多请问怎么写呢???

解决方案 »

  1.   

    第一个sql是48条数据,第二个sql是13条。。
    第二个还按日期来group by 了。。
    我现在的需求是还要列出相同的bar_code的数据的update_date。
      

  2.   


    select bar_code,update_date,cnt from(
       select pi.bar_code, pi.update_date, count(pi.bar_code)over(partition by  pi.bar_code) cnt
       from sc_tm_product_info pi
    )
    where cnt > 1;