2013-01-01 88 views
0

如何獲取數據庫中最後5行並對其進行升序排序?這是我的代碼:獲取數據庫中最後5行並按ASC排序

$this->query(" 
    SELECT `chat`.`message`, 
      `users`.`username`, 
      `users`.`user_id` 
    FROM `chat` 
    JOIN `users` 
    ON  `chat`.`user_id` = `users`.`user_id` 
    ORDER BY `chat`.`timestamp` 
    DESC 
    LIMIT 5 
"); 
+3

您好,歡迎堆棧溢出!您使用的標籤似乎是一個句子。它們應該是您正在使用的語言/技術的描述。這看起來是PHP和MySQL。它是否正確?你可以編輯你的問題,以表明你正在使用什麼。 – Ben

+0

只需使用子查詢,其內部查詢具有'ORDER BY chat.timestamp DESC LIMIT 5',主查詢應具有'ORDER BY chat.timestamp ASC' –

+0

您是否收到錯誤或錯誤的結果? – Sir

回答

3
select * from (
    SELECT `chat`.`message`, 
      `users`.`username`, 
      `users`.`user_id`, 
      `chat`.`timestamp` 
    FROM `chat` 
    JOIN `users` 
    ON  `chat`.`user_id` = `users`.`user_id` 
    ORDER BY `chat`.`timestamp` 
    DESC 
    LIMIT 5 
) 
order by timestamp asc 
+0

由於某種原因它不起作用=/ – user1925371

+0

你如何運行查詢?有沒有錯誤信息? – ComFreek

+0

@ user1925371 - 你的用戶表有'timestamp'字段嗎?如果是這樣,編輯最後一行以'chat.timestamp asc'命令。 –

0

我想這就是笨,所以檢索陣列和循環數據落後。 其他修改您的查詢如果您使用的笨活動記錄,選擇上升

+0

thx array_reverse()工作正常:) – user1925371

0

,然後更改:

$this->query 

$this->db->query 
相關問題