REFER: postgresql: упорядоченный результат
Я задал этот вопрос и принял ответ. Ну, во время вопроса у меня было что-то другое, но я был убежден принятым ответом. Ну, я недавно понял, что принятый ответ не то, что я хотел. Ну, я повторяю вопрос:
У меня есть таблица, которая выглядит следующим образом:
id | user_id | activity_id | activity_type | root_id | is_root | timestamp
----+---------+-------------+---------------+---------+---------+-----------
1 | 1 | 1 | text | 1 | 1 | 200
2 | 2 | 2 | text | 1 | 0 | 206
3 | 3 | 3 | text | 1 | 0 | 210
4 | 2 | 10 | text | 10 | 1 | 50
5 | 1 | 11 | text | 10 | 0 | 90
6 | 3 | 12 | text | 10 | 0 | 100
7 | 3 | 20 | text | 20 | 1 | 120
8 | 2 | 21 | text | 20 | 0 | 130
9 | 3 | 22 | text | 20 | 0 | 150
10 | 3 | 22 | text | 20 | 0 | 150
11 | 3 | 22 | text | 20 | 0 | 190
Вывод, который я ищу:
id | user_id | activity_id | activity_type | root_id | is_root | timestamp
----+---------+-------------+---------------+---------+---------+-----------
1 | 1 | 1 | text | 1 | 1 | 200
2 | 2 | 2 | text | 1 | 0 | 206
3 | 3 | 3 | text | 1 | 0 | 210
7 | 3 | 20 | text | 20 | 1 | 120
8 | 2 | 21 | text | 20 | 0 | 130
11 | 3 | 22 | text | 20 | 0 | 150
9 | 3 | 22 | text | 20 | 0 | 150
10 | 3 | 22 | text | 20 | 0 | 190
4 | 2 | 10 | text | 10 | 1 | 50
5 | 1 | 11 | text | 10 | 0 | 90
6 | 3 | 12 | text | 10 | 0 | 100
- root_id должен быть помещен в одну группу, а первая строка этой группы должна иметь is_root = 1.
- Группы должны быть отсортированы на основе метки времени корневого DESC, но дочерние элементы корня должны быть отсортированы ASC (на основе метки времени)
The relevant columns for the question is root_id, is_root, timestamp.
Любая помощь приветствуется.
Спасибо