sql-server - 在 SQL Server 中仅使用一个选择来获取倒数第二行?

标签 sql-server select

我试图使用 SQL Server 选择倒数第二行。所以我写了一个这样的查询:

SELECT TOP 1 * From Cinema 
WHERE CinemaID!=(SELECT TOP 1 CinemaID 
                 FROM Cinema
                 ORDER BY CinemaID DESC)                      
ORDER BY CinemaID DESC 

它满足了我的需要。但我想只用一个选择来做同样的事情。

我读到 MySql 中的 LIMIT 子句可以做到这一点。但我找不到任何同等的东西 的。因此,我感谢任何有关寻找有用内容的帮助。

最佳答案

要在一次选择中获取倒数第二行:

SELECT TOP 1 * From
(select Top 2 * from Cinema ORDER BY CinemaID DESC) x                     
ORDER BY CinemaID

这实际上只是“一个”选择,因为外部选择仅超过 2 行。

关于sql-server - 在 SQL Server 中仅使用一个选择来获取倒数第二行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8198962/

相关文章:

sql - 如何根据时间段复制数据记录?

sql - 将主表和明细表合并为一个表

sql - 是否可以在同一查询中同时使用过滤器和 View 函数?

sql-server - 在 sql 存储过程中使用 OPENQUERY 的原因是什么?

php - SQL:获取具有相同ID的所有列记录

python - 使用 Python 的 select 模块检查是否有更多数据可以从文件描述符中读取

sql-server - Freetds 无法通过服务器名称 (-S) 连接到 SQL Azure,但可以通过主机 (-H) 连接

javascript - rails observe_field 使用 ActionView Helpers

c - 需要一个适当的数据结构来处理来自多个客户端的消息

vb.net - 返回数据集中表的前 5 条记录