2011-05-27 116 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