有一个事务表,在其中有列,例如事务ID,名称和创建者。每个名称都有多个交易,其创建数据都不同。
我想查询每个名称最近的五项交易。在整个桌子上没有获得五项最近的交易。如果它的交易少于五笔交易,那么我希望它只显示那里的任何东西。
试图召集我所有的SQL知识,但我很难做到这一点。任何输入都将不胜感激。
尝试此查询,
select *
from (
select *, row_number() OVER (PARTITION BY name ORDER BY createdat DESC) as rnk
FROM yourtable
) t
where rnk <=5