postgresql получить уникальные строки из таблицы по столбику Y и при этом с максимальным значением по столбику X
Если бы я делал на питоне, то примерно так, создаём переменную (список или словарь), получаем сортированную таблицу по столбцу X, по той же колонке X проходимся от большего к меньшему по пути добавляя значение из столбика Y в новую переменную, если Y уж есть в переменной, то пропускаем Таким образом я бы получил таблицу отсортированных уникальных значений
В PostgreSQL начинают возникать проблемы, DISTINCT берёт рандомные строки и не смотрит на сортировку, то есть ORDER BY не работает вместе с DISTINCT так как задумано (это раз десять проверено) Пытался сделать через group by, то есть найти максимальное значение X для группировки по Y, а потом даже если будут дубликаты, то можно получить уникальные через distinct он уже не испортит, но так как это агрегатная функция, нельзя получить другие значения строки кроме того по чём группируем и на что применяем агрегатную функцию
Таблица рассчитана на миллионы или десятки миллионов строк, уникальных значений по столбику Y сотни тысяч, то есть костыли через циклы прошу не предлагать