[英]How to select a corresponding column in mysql for a MAX DATE grouped by DATE
mysql表:統計
columns:
date | stats
05-05-2015 22:25:00 | 78
05-05-2015 09:25:00 | 21
05-05-2015 05:25:00 | 25
05-04-2015 09:25:00 | 29
05-04-2015 05:25:00 | 15
sql查詢:
SELECT MAX(date) as date, stats FROM stats GROUP BY date(date) ORDER BY date DESC
這樣做時,確實會為每個日期選擇一行(按日期分組,而不考慮時間),並使用MAX
選擇最大的日期,但不會選擇相應的列。 例如,它返回05-05-2015 22:25:00
作為date
,並返回25
作為stats
。 應該選擇78
作為stats
。 我已經進行了研究,似乎可以找到解決方案,但是我不熟悉JOIN
或其他不太常見的mysql函數來實現此目的,而且我很難理解其他示例/解決方案,因此我決定發布我自己的特定情況。
在SO中每天都會問這個問題。 有時,它也被正確回答。 無論如何,純粹主義者不喜歡它,但這是一個選擇:
Select x.* from stats x join (SELECT MAX(date) max_date FROM stats GROUP BY date(date)) y on y.max_date = x.date;
顯然,為此,需要使用datetime數據類型存儲日期。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.