Ant*_*Tun 3 sql sql-server sql-server-2012
我想知道有没有办法从SQL表中检索包含100行的第2行和第5行?
我看到了一些带有WHERE子句的解决方案,但他们都假设WHERE应用了哪个子句的列是线性的,从1开始.
是否有其他方法可以查询SQL Server表中的特定行,以防表中的表没有值为1的列?
PS - 我知道有一个临时表的解决方案,你可以复制你的select语句输出并向表中添加一个线性列.我正在使用T-SQL
试试这个,
SELECT * FROM (
SELECT
ROW_NUMBER() OVER (ORDER BY ColumnName ASC) AS rownumber
FROM TableName
) as temptablename
WHERE rownumber IN (2,5)
Run Code Online (Sandbox Code Playgroud)
使用SQL Server:
; WITH Base AS (
SELECT *, ROW_NUMBER() OVER (ORDER BY id) RN FROM YourTable
)
SELECT *
FROM Base WHERE RN IN (2, 5)
Run Code Online (Sandbox Code Playgroud)
的id,你必须与你的主键或您的订购来代替,YourTable这是你的桌子.
它是CTE(公用表表达式),因此它不是临时表.它将与您的查询一起扩展.
| 归档时间: |
|
| 查看次数: |
48660 次 |
| 最近记录: |