Существует таблица table(timestamp, 'id', 'price'). В таблице более 20 тыс. строк. Пары не уникальны, обновляются на определенную дату. Пример запроса:
SELECT `timestamp`, `id`, `price`
FROM `db`.`table`
WHERE `id` IN ('id08', 'id54', 'id382' ... т.д.)
GROUP BY `id`
ORDER BY `timestamp` DESC;
Необходимо получить последние цены(price) на последнюю дату(самые свежие) по заданному массиву id.
Текущий запрос подхватывает price первый, что содержится в таблице.
SELECT `b`.* FROM (SELECT MAX(`timestamp`) as `timestamp`, `id` FROM `db`.`table` WHERE `id` IN ('id08', 'id54', 'id382' ... т.д.) GROUP BY `id`) as `a` LEFT JOIN `db`.`table` as `b` ON `a`.`id`=`b`.`id` AND `a`.`timestamp`=`b`.`timestamp`
Продвижение своими сайтами как стратегия роста и независимости