MySQL: выборка последних значений таблицы с группировкой по колонке
Задача: выбрать последние по дате значения в таблице для каждого значения в колонке source
Решение: запрос получается с соединением. Т.е. в соединении мы делаем запрос максимальных дат с группировкой по source, а затем соединяем по дате и значению source
1 2 3 4 5 6 7 8 |
SELECT m_data.* from m_data inner JOIN ( SELECT MAX(m_data.dt) as dt,m_data.source from m_data where m_data.source in (SELECT id FROM sources where device IN (1,2)) GROUP by m_data.source ) as maximum on (maximum.source=m_data.source and maximum.dt=m_data.dt) |