我創建MySQL中的表下面的列日期時間:ORDER BY上GROUP_CONCAT不工作
id - from_id - to_id - datetime - message
在日期時間列中的日期時間存儲這樣的:
2016-07-28 17:36:24
2016-07-28 17:39:24
2016-07-28 17:41:15
我會哄GROUP_CONCAT
to_id
存儲來自from_id
的所有消息,並只顯示1條消息(最新)。我的查詢是:
SELECT id, from_id, time_sent, message, GROUP_CONCAT(to_id order BY
time_sent DESC) FROM messages WHERE to_id = '1' GROUP BY from_id
我通過from_id
得到的所有結果hroup但該消息是最前面的一個。好像order BY time_sent DESC
未被應用。
我試過訂單BY UNIX_TIMESTAMP(time_sent)
DESC
,嘗試在查詢的末尾放置順序。沒有工作。我想通過from_id
顯示最新消息。
'選擇ID,from_id,time_sent,消息... GROUP BY from_id'正如你看到的,你按'from_id'但沒有聚集功能顯示更多的列。現在MySQL可以選擇任何行。相關:[mySQL和postgreSQL中的group by子句,爲什麼postgreSQL中的錯誤?](http://stackoverflow.com/a/33629201/5070879) – lad2025
你可以給你的數據** sql小提琴**所以我們可以給儘可能快地回答 – Sadikhasan
我認爲你的查詢有一個錯誤,因爲在where子句中你寫了「to_id ='1'」和GROUP_CONCAT on_id然後結果將只是「1」 –