duplicate表实现每个user最后一条记录

Viewed 34

有表userId, amount, time 3字段,每个userId都会定时生成一条数据,因为需要保存历史数据所以用了duplicate表,但是经常需要得到每个userId的最后一个amount值,有什么好方法,物化视图好像不支持max_by这种函数。

1 Answers

1.用分析函数不就能直取,ROW_NUMBER() OVER(partition_by userId order_by time desc)
2.如果表数据量太大,分析函数效率不高,建物化视图
3.可以再建一个unique表,用分析函数定时往里抽数据