请问:SQL根据刚插入的值找到最近插入相同的值


id SID Time Dose
1 1 2014-08-13 01:00:00.000 123.45
2 1 2014-08-13 02:00:00.000 145.89
3 2 2014-08-13 02:00:00.000 0.01
4 1 2014-08-13 03:00:00.000 167.09
5 2 2014-08-13 03:00:00.000 1.98
6 3 2014-08-13 03:00:00.000 6.09
7 1 2014-08-13 04:00:00.000 177.26
比如:
我刚插入的是第7条,SID为 1 ,怎么通过刚插入的这条数据的SID找到上一条SID也为1的那条数据,随便求出刚插入的Dose和找到前一条Dose的差值!
慕田峪4524236
浏览 517回答 6
6回答

UYOU

写个function,参数为SID, create function demo (@SID) returns int as begin declare @id1 int declare @id2 int set @id1 = SELECT TOP 1 id From tabelName WHERE SID=@SID ORDER BY Time DESC set @id2 = SELECT TOP 1 id From tabelName WHERE SID=@SID AND id<@id1 ORDER BY Time DESC RETURN @id1-@id2 end

白猪掌柜的

查最大时间里 sid=1的就行了

慕莱坞森

直接取到最后两条数据,然后在程序里面计算一下差值也是可以的呢。 select top 2 * from Table1where SID=1 order by id desc
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server