我有一个每天每个用户都有一行的表。在MySQL中选择具有最高日期的行
我想按月份和年份分组以产生给定月份的摘要。
问题是,它是选择第一行的值(即9月1日而非9月5日),这给了我错误的数字,因为我想要列的最新运行总数。
我曾尝试:
SELECT SUM(prospectCount) FROM report_sales_day AS RSD
WHERE userId = 93
AND YEAR(date) = YEAR('2014-09-01')
AND MONTH(date) = MONTH('2014-09-01')
AND (SELECT MAX(RSDI.date)
FROM report_sales_day AS RSDI
WHERE MONTH(RSDI.date) = MONTH(RSD.date)
AND YEAR(RSDI.date) = YEAR(RSD.date)) = MAX(date)
GROUP BY YEAR(date), MONTH(date)
但这只是给了我一个错误,我想不出任何其他方式来做到这一点。
有没有人知道我需要做什么来实现我所追求的结果?我有很多列在我的表中,有些需要是SUM(),AVG()和其他我只需要给定月份的最后一个值。
使用反引号周围像''一年date'(\'日期\')'。 – 2014-09-05 07:20:57
'ORDER BY date DESC LIMIT 0,1'? – 2014-09-05 07:24:01