簡體   English   中英

MySQL選擇按日期順序排序然后按列分組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM