Объединение нескольких запросов mysql
Есть несколько подобных запросов:
SELECT * FROM `data` where `id`=1 ORDER by time DESC limit 1
SELECT * FROM `data` where `id`=2 ORDER by time DESC limit 1
..
SELECT * FROM `data` where `id`=5 ORDER by time DESC limit 1
Можно ли их как-то объединить в один?
Ответы (2 шт):
Автор решения: Akina
→ Ссылка
WITH cte AS ( SELECT *, ROW_NUMBER() OVER (PARTITION BY id ORDER BY `time` DESC) rn
FROM data
WHERE id BETWEEN 1 AND 5 )
SELECT *
FROM cte
WHERE rn = 1