查询数据表中最后一周记录

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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章