SQL语言基础

Oracle(SQL) 选择最新日期记录 max报错

2021-01-22  本文已影响0人  LSim

方法一:(适用于大数据处理,如千万级别数据,速度较快)

select table_name,op_date, max_op_date from (select table_name,op_date,,max(op_date) over (partition by table_name) AS max_op_date from table  )a where op_date = max_op_date

result1

可以通过一个命令吧max_op_date与op_date一起展示。

解释:max(op_date) over (partition by table_name)  相当于是依据table_name分组,选择最新的op_date 

方法二:(适用于的数据量较小,百万级别以下,否则,性能会非常差)

当然,你也可以用group by的方式,然后再join。但是,这无疑增加了代码的复杂度。

result2
上一篇下一篇

猜你喜欢

热点阅读