2014-03-04 58 views
2

我有一個這樣的數據庫:從MySQL PHP選擇最後兩行

+----------+----------+------+ 
| username | password | time | 
+----------+----------+------+ 
| a  | b  | 1234 | 
| c  | d  | 5678 | 
| e  | f  | 9012 | 
+----------+----------+------+ 

現在我有時間來安排這讓我跑:

mysql_query("SELECT * FROM `table` ORDER BY `time`") 

這表明我行安排的時間按升序排列,但我必須僅獲得用戶名ce或者我必須從查詢中獲取最後兩行。

我曾嘗試:

mysql_query('SELECT * FROM `table` ORDER BY `time` LIMIT 2') 

但是,這表明我使用者名稱ac但我必須拿到最後兩個,那怎麼辦?

+2

順序按時間倒序限制2 – Lab

+0

這都去瘋狂地快... – scenia

+0

什麼是表的主鍵? – Mubo

回答

4
SELECT * FROM table 
ORDER BY time DESC 
LIMIT 2 
+0

OP的問題是關於Mysql ...不是SQL SVR – Hackerman

+1

要小心! MySQL沒有TOP關鍵字。不要擔心,你可以[編輯](http://stackoverflow.com/posts/22176084/edit)你的答案。 –

+0

這是我的不好。 – Nath

3
SELECT * FROM table ORDER BY time DESC LIMIT 2 

添加DESC關鍵字將按降序對結果進行排序。

3

試試這個:

SELECT * FROM table ORDER BY time DESC LIMIT 2 
+1

哇,29秒... – scenia

+0

我會贏得下一次; p – ajtamwojtek

1

嘗試

mysql_query('SELECT * FROM table ORDER BY time DESC LIMIT 2') 
0

假設你有AUTO_INCREMENT設置ID字段。

從表中得到最後兩個。

SELECT * FROM table ORDER BY id DESC LIMIT 2 
+0

你的答案不僅沒有提供額外的信息,它實際上是錯誤的。他的表沒有「id」列。此外,這個問題幾乎意味着他希望關於時間欄的最新2。 – scenia

+0

我認爲該表有一個ID。他沒有提到這一點。 – Mubo

+0

他列入了一個按時間順序排列的例子。你可以在評論中要求澄清,這通常比假設更好。 – scenia