Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何从表中获取最新的“n”更新行_Sql_Oracle_Oracle10g_Top N - Fatal编程技术网

Sql 如何从表中获取最新的“n”更新行

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

可能重复:

我有一个表abc,其中有以下列

行为id、客户id、上次更新日期、客户活动。其中act_id是主键

LastUpdateDate存储为该客户完成的最后一项活动

我试图根据LastUpdateDate获取给定custid的最新10行

我怎样才能做到这一点

-vivek

Oracle支持和窗口功能。试试下面的方法

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;

希望这对你有所帮助-


希望这对你有所帮助-