且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

来自数据库的最新数据

更新时间: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.