【问题标题】:How to query most recent five transactions per item in sql如何在sql中查询每个项目最近的五个事务
【发布时间】:2016-06-20 11:30:37
【问题描述】:

有一个事务表,其中有事务 id、name 和 createdat 等列。 每个名称都有多个事务,其 createdat 数据将完全不同。

我想查询每个名称的五个最近交易。没有得到整个表中的五个最近的事务。如果它的交易少于五个,那么我希望它只显示那里的任何内容。

试图收集我所有的 sql 知识,但我很难做到。任何输入将不胜感激。

【问题讨论】:

标签: sql postgresql subquery greatest-n-per-group correlated-subquery


【解决方案1】:

试试这个查询,

select * 
from ( 
   select *, row_number() OVER (PARTITION BY name ORDER BY createdat DESC) as rnk 
   FROM yourtable
) t 
where rnk <=5

【讨论】:

  • 非常感谢。完美运行。
猜你喜欢
  • 2021-01-22
  • 1970-01-01
  • 1970-01-01
  • 2013-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-16
相关资源
最近更新 更多