Select 来自每个组的最后 n 行在 DB2 中按日期排序

Select from each group the last n rows orders by date in DB2

我正在使用 DB2 数据库。我有一个包含以下列的 table:

Group | Name | Date | Value

我想 select 每个组的最后 10 个值(按日期排序)。我怎样才能在 DB2 中做到这一点?非常感谢。

更新:

这是我到目前为止所做的:

select Group, DATE
from MyTable
ORDER BY Group, DATE 
FETCH FIRST 10 ROWS ONLY

此 sql 命令 return 结果的前 10 行,我想为每个组获取最后 10 个结果。

你不能用一个简单的 order by 子句来做到这一点;您需要使用 OLAP 函数:

with ordered as (
  select group, 
         date, 
         row_number() over (partition by group order by date desc) as date_rank
    from mytable
)
select group, date 
  from ordered 
  where date_rank <= 10