如何查询 sql 中每个项目的最近五笔交易
How to query most recent five transactions per item in sql
有一个交易table,其中有交易ID、名称和创建时间等列。
每个名称都有多个事务,其 createdat 数据将完全不同。
我想为每个名称查询五个最近的交易。总共没有获得五个最近的交易 table。如果它少于五笔交易,那么我希望它只显示其中的任何内容。
试图集中我所有的 sql 知识,但我很难做到。任何输入将不胜感激。
试试这个查询,
select *
from (
select *, row_number() OVER (PARTITION BY name ORDER BY createdat DESC) as rnk
FROM yourtable
) t
where rnk <=5
有一个交易table,其中有交易ID、名称和创建时间等列。 每个名称都有多个事务,其 createdat 数据将完全不同。
我想为每个名称查询五个最近的交易。总共没有获得五个最近的交易 table。如果它少于五笔交易,那么我希望它只显示其中的任何内容。
试图集中我所有的 sql 知识,但我很难做到。任何输入将不胜感激。
试试这个查询,
select *
from (
select *, row_number() OVER (PARTITION BY name ORDER BY createdat DESC) as rnk
FROM yourtable
) t
where rnk <=5