sql - 在 SQL Server 6.5 中选择 TOP 1

标签 sql sql-server

求求你不要问我为什么使用 SQL Server 6.5

SQL Server 6.5 中没有 SELECT TOP 命令,你猜怎么着,我需要它:)

我需要执行类似的操作

Select top 1 * from persons
where name ='Mike'
order by id desc

我尝试过使用 SET ROWCOUNT 1,但在这种情况下你不能使用 order by。

我最终得到

Select top 1 * from persons
where id = (select max(id) from persons where name ='Mike' )

一定有更好的方法!

有什么建议吗?

谢谢!

最佳答案

尝试选择一个临时表,按 ID 排序,然后 SET ROWCOUNT 1 并从临时表中选择 *。 (这应该适用于具有 SET ROWCOUNT N 的任何前 N 个,而您现有的解决方案仅适用于前 1 个。)

关于sql - 在 SQL Server 6.5 中选择 TOP 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3718043/

相关文章:

c# - 将数组传递给存储过程时,对象必须实现 IConvertible 错误

mysql - 选择 max(id) 但需要更多行数据

文件名中带有空格的 sqlcmd 脚本

sql - 定制化场景的数据库表设计

sql - postgreSQL 每个月购买了多少订阅

sql-server - 在给定 SQL Server 中的存储过程参数的情况下,是否可以按任何列进行排序?

sql - 与 FOREIGN KEY 约束冲突