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