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

时间:2011-05-27 03:09:19

标签: sql-server sql-server-2008

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

id,user,message 我想保存最后25个 但是这个

select top 25 usuario, mensaje 
from chat  
order by idchat asc

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

表格是

create table chat
(idchat int primary key identity,
usuario varchar(50),
mensaje text);

如果我执行

select top 25 usuario, mensaje from chat  order by idchat desc

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

'user1','mensaje1'
'user1','mensaje2'
'user1', 'mensaje3'

返回

'user1','mensaje3'
'user1','mensaje2'
'user1', 'mensaje1'

我不需要它..

1 个答案:

答案 0 :(得分:7)

将ASC更改为DESC:

select top 25 usuario, mensaje from chat  order by idchat desc

编辑:您想要最后25个,但在过滤了最后25个之后,您希望它们按升序排序吗?

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