我求求你不要问我为什么使用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' )
必须有更好的方法!
有什么建议吗?
感谢名单!
答案 0 :(得分:2)
尝试选择按ID排序的临时表,然后选择SET ROWCOUNT 1并从临时表中选择*。 (这适用于任何带有SET ROWCOUNT N的前N个,而您现有的解决方案仅适用于前1个。)
答案 1 :(得分:0)
在你的select语句之前设置ROWCOUNT 1,没有测试过,因为我没有mssql 6.5(幸运的是我猜)