更新时间:2023-10-08 08:33:52
您应该GROUP BY
您要选择的所有字段,而不仅仅是一个.本文介绍了该问题:
You should GROUP BY
all fields you want to select, no only one. This article explain the issue: https://www.psce.com/blog/2012/05/15/mysql-mistakes-do-you-use-group-by-correctly/
在这种情况下,正确的SQL查询将是:
The proper SQL query in this case would be:
SELECT id, upload_month, created_at
FROM uplodaded_file
JOIN (SELECT upload_month, MAX(created_at) created_at
FROM uplodaded_file
GROUP BY upload_month) months
ON upload_month = months.upload_month
AND created_at = months.created_at
雄辩的版本有点棘手.在这种情况下,***使用原始查询.
The eloquent version of this is a little bit tricky. It will be better to use a raw query in this case.