Sql 如何从表中获取最新的“n”更新行
可能重复: 我有一个表abc,其中有以下列 行为id、客户id、上次更新日期、客户活动。其中act_id是主键 LastUpdateDate存储为该客户完成的最后一项活动 我试图根据LastUpdateDate获取给定custid的最新10行 我怎样才能做到这一点 -vivekOracle支持和窗口功能。试试下面的方法Sql 如何从表中获取最新的“n”更新行,sql,oracle,oracle10g,top-n,Sql,Oracle,Oracle10g,Top N,可能重复: 我有一个表abc,其中有以下列 行为id、客户id、上次更新日期、客户活动。其中act_id是主键 LastUpdateDate存储为该客户完成的最后一项活动 我试图根据LastUpdateDate获取给定custid的最新10行 我怎样才能做到这一点 -vivekOracle支持和窗口功能。试试下面的方法 SELECT act_id, cust_id, lastUpdatedDate, custActivity FROM ( SELECT act_id, cust_id
SELECT act_id, cust_id, lastUpdatedDate, custActivity
FROM
(
SELECT act_id, cust_id, lastUpdatedDate, custActivity,
ROW_NUMBER() OVER (PARTITION BY cust_id ORDER BY lastUpdatedDate DESC) rn
FROM tableNAME
) x
WHERE rn <= 10
Oracle支持Windows和Windows功能。试试下面的方法
SELECT act_id, cust_id, lastUpdatedDate, custActivity
FROM
(
SELECT act_id, cust_id, lastUpdatedDate, custActivity,
ROW_NUMBER() OVER (PARTITION BY cust_id ORDER BY lastUpdatedDate DESC) rn
FROM tableNAME
) x
WHERE rn <= 10
您可以在Oracle中使用ROWNUM。。单击此处查看文档
select *
from
( select *
from your_table
where cust_id=<given cust_id>
order by lastUpdatedDate desc )
where ROWNUM <= 10;
您可以在Oracle中使用ROWNUM。。单击此处查看文档
select *
from
( select *
from your_table
where cust_id=<given cust_id>
order by lastUpdatedDate desc )
where ROWNUM <= 10;
希望这对你有所帮助-
希望这对你有所帮助-