Если вы хотите, чтобы первая строка соответствовала каждому из ваших IN
значений, вы можете использовать оконную функцию:
SELECT src.timestamp, src.tracker_id, src.position
FROM (
SELECT
t.timestamp, t.tracker_id, t.position,
ROW_NUMBER() OVER(PARTITION BY tracker_id ORDER BY timestamp DESC) myrownum
FROM mytable t
WHERE tracker_id IN ('15', '11', '12')
) src
WHERE myrownum = 1 -- Get first row for each "tracker_id" grouping
Это вернет первую строку, которая соответствует каждому из ваших IN
значения, упорядоченные по timestamp
.