sql - 如何从 SQL Server 表中检索特定行?

标签 sql sql-server sql-server-2012

我想知道有没有办法从包含 100 行的 SQL 表中检索例如第 2 行和第 5 行?

我看到了一些解决方案 WHERE子句,但它们都假定 WHERE 所在的列子句应用是线性的,从 1 开始。

如果表没有值从 1 开始的列,是否还有其他方法可以查询特定行的 SQL Server 表?

附言- 我知道有一个带有临时表的解决方案,您可以在其中复制 select 语句输出并向表中添加一个线性列。我正在使用 T-SQL

最佳答案

尝试这个,

SELECT * FROM (
  SELECT
    ROW_NUMBER() OVER (ORDER BY ColumnName ASC) AS rownumber
    FROM TableName
)  as temptablename
WHERE rownumber IN (2,5)

关于sql - 如何从 SQL Server 表中检索特定行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18786124/

相关文章:

sql - 将地址值拆分为单独的列

sql - 为什么外部联接比单独查询慢

sql - bash 脚本 curl 命令中的单引号不断转换为双引号

Mysql RANK 没有给出每个类别的 RANK

java - 如何使用 java ArrayList 中的值更新表?

sql - 获取 PK 的列列表

xml - T-SQL 删除第一个 xml 行

sql - 无法连接到 SQL Server(未找到网络路径)

sql - 复制父、子和孙记录

sql-server - 使用 T-SQL 有条件地删除 SQL Server 中 XML 字段中的 XML 元素