tim*_*ack 1 t-sql sql-server asp.net-mvc-4 sql-server-2012
我正在尝试获取确切的T-SQL语句来获取所选行的上一行和下一行.这是下面给出的表格.
表名:MyExTab
ID Name Address Age Nationality
------ ------- ----------- ----- -----------
1160 Kate New Jersey 28 American
1161 Kelly Connecticut 32 American
1162 Jenny New York 30 American
1163 Heather New York 29 American
1164 Ashley Pennsylvania 29 American
Run Code Online (Sandbox Code Playgroud)
如果我想使用表示行的ID = 1162查询行
ID Name Address Age Nationality
------ ------- ----------- ----- -----------
1162 Jenny New York 30 American
Run Code Online (Sandbox Code Playgroud)
它应该只返回基于所选行ID的上一行和下一行的两行,如下所示.
ID Name Address Age Nationality
------ ------- ----------- ----- -----------
1161 Kelly Connecticut 32 American
1163 Heather New York 29 American
Run Code Online (Sandbox Code Playgroud)
请给予帮助.谢谢
试试吧
DECLARE @tbl TABLE(ID INT,Name VARCHAR(100));
INSERT INTO @tbl VALUES
(1160,'Kate')
,(1161,'Kelly')
,(1162,'Jenny')
,(1163,'Heather')
,(1164,'Ashley');
DECLARE @id INT=1162;
Run Code Online (Sandbox Code Playgroud)
查询将查找给定参数的最小较大和最小较小 ID
SELECT *
FROM @tbl AS t
WHERE ID = (SELECT MIN(x.ID) FROM @tbl AS x WHERE x.ID>@id)
OR ID = (SELECT MAX(x.ID) FROM @tbl AS x WHERE x.ID<@id)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
161 次 |
| 最近记录: |