select top 1 *
(select top 2 *
from
(select top 100 * --本来写成top count(*) *,发现这样会报错,不写top也会报错
from A
order by CreateDate desc) t
order by CreateDate asc) tp
order by CreateDate asc
先说一下我的思路
我想先查出全部的数据后倒序一下,然后去前两条数据,再升序一下,再取第一条数据,即可得到倒数第二跳数据
思路应该是正确的,为什么按照我的思路写的sql语句执行不通呢。
报的错是:关键字 'order' 附近有语法错误。
仅需要写2个select ,先倒序得到top2,然后再倒序select top 1 * from (
select top 2 * from tmenu order by fmenuid desc)a
order by fmenuid
后面少了from
where CreateDate < ( select top 1 CreateDate from tp order by CreateDate desc )
order by CreateDate desc