SQL如何选择最新的日期项

Mat*_*att 28 sql oracle select date

你好,我有一个列表:

*使用oracle

ID                  NUMBER
USER_ID            NUMBER
DATE_ADDED          DATE
DATE_VIEWED        DATE
DOCUMENT_ID        VARCHAR2
URL                VARCHAR2
DOCUMENT_TITLE      VARCHAR2
DOCUMENT_DATE        DATE
Run Code Online (Sandbox Code Playgroud)

我想知道如何为给定用户获取最近添加的文档.

Select * FROM test_table WHERE user_id = value AND (do something with date_added column)
Run Code Online (Sandbox Code Playgroud)

谢谢

sh_*_*alh 54

Select * 
FROM test_table 
WHERE user_id = value 
AND date_added = (select max(date_added) 
   from test_table 
   where user_id = value)
Run Code Online (Sandbox Code Playgroud)


gbn*_*gbn 13

不确定确切的语法(你使用varchar2类型,这意味着不是SQL Server因此TOP)但你可以使用LIMIT关键字:

Select * FROM test_table WHERE user_id = value
     ORDER BY DATE_ADDED DESC LIMIT 1
Run Code Online (Sandbox Code Playgroud)

或Oracle中的rownum

 SELECT * FROM
     (Select rownum as rnum, * FROM test_table WHERE user_id = value ORDER BY DATE_ADDED DESC)
 WHERE rnum = 1
Run Code Online (Sandbox Code Playgroud)

如果是DB2,我不确定它是TOP,LIMIT还是rownum ......


Noe*_*ams 7

使用SQL Server尝试:

SELECT TOP 1 * FROM dbo.youTable WHERE user_id = 'userid' ORDER BY date_added desc