2013-04-01 67 views
0

我很喜歡SQL查詢,並且在編寫它們時遇到困難。存儲過程用一個參數獲取最近的數據庫條目?

我需要一個查詢,我可以傳入一個參數(Description),它會返回數據庫中最近的項目。

  • MSSQL
  • 數據庫表:dbo.Document
  • 列:DocumentID (int), Description (nvarchar(255)), CreatedDate (datetime)

查詢:

SELECT * 
FROM dbo.Document 
WHERE Description = "HelpDocument", 
     select * from (RANK() OVER (PARTITION BY DocumentID order by CreatedDate desc) 
+2

根據平臺來獲得第一行,你需要使用'LIMIT 1'(MySQL的)或'TOP 1'(MSSQL)。表中有來自模式的'dbo'前綴,所以我猜測你使用的是MSSQL。你可以提供這些信息,因爲它很重要。 –

回答

2
SELECT TOP 1 * 
FROM dbo.Document 
WHERE Description = @yourparameter 
ORDER BY CreatedDate desc 
+0

看起來像這樣會工作,我會試試看。 謝謝 – Das

0

任何時候你需要一個最近的項目,如果你沒有任何主id鍵在你的表中,你可以用LIMIT 1來檢索e最近添加的項目。

因此,我認爲你的查詢可能是這樣的:

SELECT * 
FROM dbo.Document 
WHERE Description = "HelpDocument", 
     select * from (RANK() OVER (PARTITION BY DocumentID order by CreatedDate desc) 
LIMIT 1 
+0

看起來像這樣會工作,我會試試看。 謝謝 – Das

相關問題