查詢數據表中最後一週記錄

SQL取表中從最新創建時間起一週內的所有數據:

如表:TableName (RID int,InsertTime datetime)

從TableName 表中取出從最新一條數據開始,一週內的所有數據。

MSSQL寫法如下:
--獲取符合條件的數據declare @lastInsertTime datetime;
select top 1 @lastInsertTime from TableName
order by InsertTime desc;
select RID,InsertTime from TableName where datediff
(week,datetime,@lastInsertTime)=0;

--返回符合條件的數據集合,以存儲過程的方式實現,以便調用給前臺直接得到數據集合。

create procedure SP_GetWeekData(@where nvarchar(1000))
as

declare @tempSQL varchar(4000);
--組裝SQL語句,獲取TableName 表中取出從最新一條數據開始,一週內的所有數據。

set @tempSQL='declare @lastInsertTime datetime;'
                + 'select top 1 @lastInsertTime from TableName '
                + @where                  
                + 'order by InsertTime desc; '
                + 'select RID,InsertTime from TableName where '
                + @where                  
                + ' and datediff(week,datetime,@lastInsertTime)=0; '

EXECUTE sp_executesql @tempSQL ;

發佈了23 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章