在SQL Server 6.5中选择TOP 1

时间:2010-09-15 13:27:42

标签: sql sql-server sql-server-6.5

我求求你不要问我为什么使用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' )

必须有更好的方法!

有什么建议吗?

感谢名单!

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

在你的select语句之前设置ROWCOUNT 1,没有测试过,因为我没有mssql 6.5(幸运的是我猜)