sql命令?你如何选择最后添加的25行?

ang*_*gel 2 sql-server sql-server-2008

我保存了一个新行...并保存它

id,用户,消息我想获得最后25个保存但是这个

select top 25 usuario, mensaje 
from chat  
order by idchat asc
Run Code Online (Sandbox Code Playgroud)

我刚拿到前25行,怎么才能得到最后25行?

桌子就是这样

create table chat
(idchat int primary key identity,
usuario varchar(50),
mensaje text);
Run Code Online (Sandbox Code Playgroud)

如果我执行

select top 25 usuario, mensaje from chat  order by idchat desc
Run Code Online (Sandbox Code Playgroud)

它返回一个坏事..例如,我保存

'user1','mensaje1'
'user1','mensaje2'
'user1', 'mensaje3'
Run Code Online (Sandbox Code Playgroud)

这回来了

'user1','mensaje3'
'user1','mensaje2'
'user1', 'mensaje1'
Run Code Online (Sandbox Code Playgroud)

我不需要它..

Phi*_*ler 7

将ASC更改为DESC:

select top 25 usuario, mensaje from chat  order by idchat desc
Run Code Online (Sandbox Code Playgroud)

编辑:你想要最后25个,但在过滤了最后25个之后,你想让它们按顺序升序吗?

SELECT * FROM
    (
    select top 25 
        usuario, 
        mensaje 
    from 
        chat  
    order by 
        idchat desc
    )
ORDER BY
  idchat ASC
Run Code Online (Sandbox Code Playgroud)