2013-05-27 73 views
0

我一直在試圖從MySQL數據庫收集一些數據一段時間。MySQL GROUP BY和降序

問題是,我想按objectid分組數據,而只獲取最新的數據(降序)。

每當我嘗試它,我要麼得到一個錯誤,要麼沒有下降。

我此刻的查詢是:

SELECT * FROM 'table' GROUP BY 'objectid' DESC

我已經idtimestamp,但有一個上升的結果試了排序。

我的問題是相似的:http://stackoverflow.com/questions/7306082/mysql-using-group-by-and-desc

但是隻要答案並沒有解決我的問題。

在此先感謝!

回答

0

查詢是錯誤的,你應該讓backticks代替single quotes 和您statment錯過爲了

試試這個

 SELECT * FROM `table` GROUP BY `objectid` Order by id DESC 
+0

我只使用單引號,因爲'反引號'用於不同的目的在stackoverflow; – Resitive

+0

如果你的列id是整數,它將命令desc好。 –

2

您還必須指定ORDER BY子句排序:

SELECT * FROM 'table' GROUP BY 'objectid' ORDER BY timestamp DESC 
+0

正如我在這個問題中所說的,ORDER BY也會輸出上升的結果。 – Resitive

0

這會給你每個ObjectId的最近條目,按降序排序;它只是留下連接找到所有條目,其中不存在相同ObjectId的新條目。

SELECT a.* 
FROM table1 a 
LEFT JOIN table1 b 
    ON a.ObjectId=b.ObjectId 
AND a.time < b.time 
WHERE b.ObjectId IS NULL 
ORDER BY time DESC 

An SQLfiddle to test with