Добрый день.
Я хочу выбрать из моей таблицы 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. Я чувствую, что запрос сложный.Есть ли способ упростить или оптимизировать его?
ты в свое время.