2011-05-27 115 views
2

我保存新行..它被保存,以便sql order by?你如何选择最后25行添加?

ID,用户,消息 我想在过去的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' 

我不需要它..

回答

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 
+0

我使用此代码现在解决它 – angel 2011-05-27 03:41:52

+0

SELECT * FROM(选择顶部25 *从idchat递减聊天顺序)客服1 为了通过chat1.idchat ASC – angel 2011-05-27 03:41:58

+0

啊,我只是贴有类似的编辑。你想要最后的25个,但是一旦过滤就按顺序升序。 – 2011-05-27 03:44:46