Имеется таблица comments
comment (
id_comment integer PRIMARY KEY ,
path integer[] not null,
content text,
rating integer
)
Нужно получить сначала комментария с высоким рейтингом
SELECT * FROM comment ORDER BY rating DESC LIMIT
работает хорошо, но если дочерний коммент имеет рейтинг выше родительского или другого он сперва выведет его .
А хотелось бы что бы сортировка по рейтингу велась только первого родителя и у тех у кого нет "детей"
вкратце, имеем :
id | path | content | rating
----+---------+--------------------------------+---------
1 | {1} | я комментарий 1 | 1
2 | {1,2} | я дочь комментария 1 | 5
3 | {3} | я комментарий 3 | 3
4 | {4} | я комментарий 4 | 2
результат сортировки должен быть :
id | path | content | rating
----+---------+--------------------------------+---------
3 | {3} | я комментарий 3 | 3
4 | {4} | я комментарий 4 | 2
1 | {1} | я комментарий 1 | 1
2 | {1,2} | я дочь комментария 1 | 5
Использую Materialized Path паттерн .