oracle去重取最大值

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hunterpanda/article/details/84660471

做一个查询需要提取每个人去重复之后最新的记录,刚开始用分组排序等方法觉得不行,

distinct可以去掉重复的值,但我还需要拿到这个表的主键id,这样distinct就不支持了。distinct语句中select显示的字段只能是distinct指定的字段,其他字段是不可能出现的。

后来用max函数取最大id就可以实现了,下面是例子:

select *
  from mdc_hypertensionvisit
 where visitId in
       (select max(visitId)
          from mdc_hypertensionvisit
         where visitdate between to_date('2014-02-01', 'yyyy-MM-dd') and
               to_date('2014-10-01', 'yyyy-MM-dd')
         group by empiId)

 

 

 

 

展开阅读全文

没有更多推荐了,返回首页