简体   繁体   English

Laravel查询在列上获取不同的值,但是在使用orderby获取最新的不同值之后

[英]Laravel Query to get distinct values on a column, but after using orderby to get latest distinct values

I want to show only distinct rows from a table, but those values needs to be the latest ones, which i am filtering from date in the table. 我只想显示表中不同的行,但是这些值必须是最新的,我是从表中的日期开始过滤的。 Here is my query. 这是我的查询。 The result i am getting is the older row from date, the orderby is not working here i guess. 我得到的结果是日期较旧的行,我猜orderby在这里不起作用。 please help. 请帮忙。 I have attached my table. 我已经附好桌子了。

$reports= DB::table('resident_assessment')
          -where('resident_assessment.assessment_date','<=',$date)
          -join('assessment_entry','resident_assessment.assessment_id','=','assessment_entry.assessment_id')
          -orderby('resident_assessment.assessment_date','desc')
          -distinct()->get();

在此处输入图片说明

SELECT DISTINCT RA.* FROM resident_assessment RA INNER JOIN assessment_entry AE ON 
AE.assessment_id = RA.assessment_id
WHERE RA.assessment_date = $date ORDER BY RA.assessment_date desc 

This is the suitable select statement for your task. 这是适合您的任务的select语句。 This might help you 这可能对您有帮助

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM