有一个事务表,里面有事务id、名称、创建时间等列。 每个名称都有多个事务,其 createdat 数据将完全不同。
我想为每个名称查询五个最近的交易。没有在整个表中获得五个最近的交易。如果它少于五笔交易,那么我希望它只显示其中的任何内容。
试图集中我所有的 sql 知识,但我很难做到。任何输入将不胜感激。
最佳答案
试试这个查询,
select *
from (
select *, row_number() OVER (PARTITION BY name ORDER BY createdat DESC) as rnk
FROM yourtable
) t
where rnk <=5
关于sql - 如何在sql中查询每个项目的最近五笔交易,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37921428/