我有一张 table :
date number
2018-11-01 5
2018-11-30 7
2018-10-05 3
2018-10-28 1
2018-09-01 8
2018-09-05 9
如何对每个月最后一天的值进行排序?
我尝试:
$mysqli->query("
SELECT *
FROM stats
GROUP
BY YEAR(date)
, MONTH(date) desc
ORDER
BY date desc");
也尝试过 MAX() 但没有成功:(
我想在我的 while 行中得到这个结果:
date number
2018-11-30 7
2018-10-28 1
2018-09-05 9
所以只需保留每个月最后一天的值(数字)即可。
谢谢!
最佳答案
计算每个年月对的最大日期并与其连接:
SELECT date, number
FROM stats
INNER JOIN (
SELECT MAX(date) AS maxdate
FROM stats
GROUP BY YEAR(date), MONTH(date)
) x ON stats.date = maxdate
关于MySQL 查找每月的最大日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53375455/