有一个事务表,其中有一些列,如transaction id、name和createdat。每个名称有多个事务,每个名称的创建数据都将不同。
我想查询每个名称最近的五个事务。在整个表中没有得到五个最近的事务。如果它的事务少于五个,那么我希望它只显示出存在的任何东西。
试图收集我所有的sql知识,但我很难做到这一点。如有任何意见,将不胜感激。
发布于 2016-06-20 12:52:58
试试这个查询,
select *
from (
select *, row_number() OVER (PARTITION BY name ORDER BY createdat DESC) as rnk
FROM yourtable
) t
where rnk <=5https://stackoverflow.com/questions/37921428
复制相似问题