我使用laravel框架,我试图获取每个地址的最大日期并显示它。但是它没有按我预期的那样工作,使用max并不能使我返回正确的行。

$locations = \DB::table('mesaurement')
->select(\DB::raw('mesaurement.ID as ID,mesaurement.Latitude,mesaurement.Longitute,mesaurement.Temperature as temp,mesaurement.Humidity,mesaurement.Pressure,mesaurement.address, mesaurement.created_at,max(created_at) as date'))
->orderby('date','desc')
->groupby('mesaurement.address')
->get();

我希望以最大的日期带回正确的温度,湿度等。我按地址分组,因为我有很多相同的地址,并且我希望它们只是一个。

最佳答案

我不知道该框架,但查询可以很简单,如下所示

从测量中选择最大温度
按mesaurement.address分组;

在下面的链接中可以找到有关max中多列的更多详细信息

Multiple max values in a query

08-07 05:10