[英]Mysql select order by date desc then group by column
嗨,我想按日期順序從表順序中選擇,而不是按smuth進行組合。 起初phpmyadmin給出一個錯誤(sql_mode = only_full_group_by),我通過從my.cnf中刪除該標志來修復它,而且我不知道此修復程序是否長期有效,我在某處讀到,使用此修復程序,您可能會得到不想要的結果。 我已經嘗試過**select * from ( select * from log order by date desc) tmp group by imei**
但是結果是從最早的日期而不是最新的日期開始的,它使我從第一個id獲得的imei不是最后。
對於分組結果,是否已訂購輸入都無關緊要。 如果我正確解釋了您的問題,那么您想獲取每個imei的最新日志條目。 您將必須執行以下操作:
SELECT l1.*
FROM logs as l1
LEFT OUTER JOIN logs as l2
ON l1.imei = l2.imei
AND l1.date < l2.date
WHERE l2.date IS NULL
在這里,您實際上是在詢問每個日志條目(l1),這些日志條目(l2)不存在具有相同imei但日期更長的日志條目。
如果您只想知道每個imei的最后一個日志條目是何時,那么就足夠了:
SELECT imei, MAX(date)
FROM log
GROUP BY imei
SELECT * FROM日志WHERE ID in(imei的SELECT max(id)FROM日志組)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.