I have following query:
SELECT hs.*FROM hire_screening hs
INNER JOIN (SELECT resume_id,MAX(created_date) AS MaxDateTime
FROM hire_screening GROUP BY resume_id) hire_screening
ON hs.resume_id = hire_screening.resume_id
AND hs.created_date = hire_screening.MaxDateTime
I tried this:
$query = HireScreening::find()
->select(["hs.resume_id","MAX(hs.created_date) AS MaxDateTime"])
->innerJoin('hire_screening as hs','hs.resume_id = hire_screening.resume_id')
->where(['hire_screening.created_date' => 'MaxDateTime'])
->orderBy(['(hs.created_date)' => SORT_DESC])
->groupBy(['hs.resume_id']);
When I use group by the result shows the first values of each 'resume_id' in the order that stored in the table. I just need the most latest distinct resume_id 's according to created_date. How can I implement this query in yii2 search model? Please help.