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