select top 1 * from (select rn =row_number() over (order by getdate()) ,* from tb) tb_1 order by rn desc是不是這樣?
如果你用的是sql server 2005及以后版本的话能查,但是这个只是逻辑上的最好一条,比如:select * from ( select *, count(*) over(PARTITION by 1) as record_count, --表中的记录数 ROW_NUMBER() over(order by @@servername) as rownum --人工的行号 from sys.objects )t where rownum = record_count
select top 1 * from (select rn =row_number() over (order by getdate()) ,* from tb) tb_1 order by rn desc 这个方法是能找到,但是改变了原数据库的结构,在数据库的第一列增添了一列。
有无聚集索引?有聚集索引可以通过order by 聚集索引字段 desc实现。没得你就自己想办法吧。另外,这么蛋疼的结构,谁想出来的?可以让老板炒掉他了。
order by rn desc是不是這樣?
from
(
select *,
count(*) over(PARTITION by 1) as record_count, --表中的记录数
ROW_NUMBER() over(order by @@servername) as rownum --人工的行号
from sys.objects
)t
where rownum = record_count
order by rn desc
这个方法是能找到,但是改变了原数据库的结构,在数据库的第一列增添了一列。