Как выбрать последние данные по полю из таблицы?В пути Ларавела - PullRequest
0 голосов
/ 07 февраля 2019

Добрый день.

Я хочу выбрать из моей таблицы mySQL keys последний данные по serial поле:

           keys table:
serial | event_date_time | rest_data..
------ | --------------- | -----------
 sn005 | 2015-05-05      | data1
 sn001 | 2015-01-01      | data1
+sn005 | 2019-09-09      | data2
+sn001 | 2020-10-10      | data3
 sn001 | 2016-06-06      | data2  

          query result:
serial | event_date_time | rest_data..
------ | --------------- | -----------
 sn001 | 2020-10-10      | data3
 sn005 | 2019-09-09      | data2

I 'я получил этот запрос:

SELECT `k`.*
  FROM (
    SELECT `serial`, MAX(`event_date_time`) AS `event_date_time`
      FROM `keys`
      GROUP BY `serial`
  ) AS `d`
  JOIN `keys` AS `k`
    ON `k`.`serial` = `d`.`serial` AND `k`.`event_date_time` = `d`.`event_date_time`

И у меня есть проблемы:
1. Как заставить этот запрос работать красноречивым образом?Не могу понять это, прочитав документы laravel
2. Я чувствую, что запрос сложный.Есть ли способ упростить или оптимизировать его?

ты в свое время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...