|
|
|
Запрос с группировкой результатов и сортировкой
|
|||
|---|---|---|---|
|
#18+
Добрый день! Помогите создать запрос, который сортирует таблицу следующим образом: А B z 0 z 1 z 5 x 2 x 3 x 8 y 4 y 7 Порядок по полю А определяется группировкой результатов. Отсортировав по полю B первым идет значение z (в поле А). Тогда далее по порядку (поля B) идут все остальные z. Когда все z перебрали. Смотрим в порядке возрастания поля B следующие записи не имеющие z. И так далее. Как-то путанно конечно, но суть проста )) Была мысль создать вторую таблицу, которая содержала бы для каждого значение А минимальное значение B. А B_first z 0 x 2 y 4 Тогда мы можем заджойнить их и написать что-то вроде: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Но на этом запросе все зависает. Да и вообще есть сомнения что это правильный ход мысли. Как тут быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2016, 15:30 |
|
||
|
Запрос с группировкой результатов и сортировкой
|
|||
|---|---|---|---|
|
#18+
ka_chu, А кто мешает указать сразу два поля для сортировки? ORDER BY A DESC, B ASC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2016, 17:28 |
|
||
|
Запрос с группировкой результатов и сортировкой
|
|||
|---|---|---|---|
|
#18+
Cygapb-007, По полю А сортировать не нужно. Необходимо чтобы значения по полю А были вместе. Внутри этой группы они были отсортированы по полю В. И эти группы (с равными полями А) были отсортированы исходя из первых своих записей по полям А. Группа z идут первыми, потому что там есть z 0 . Группа x идут вторыми так как там x 2 . И группа y лишь третьи так как там самый маленький только y 4 . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2016, 19:00 |
|
||
|
Запрос с группировкой результатов и сортировкой
|
|||
|---|---|---|---|
|
#18+
ka_chu, Тогда добавьте индекс по (A, B) - сам запрос кажется оптимальным ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2016, 20:37 |
|
||
|
Запрос с группировкой результатов и сортировкой
|
|||
|---|---|---|---|
|
#18+
Как вариант, можно попробовать Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2016, 20:48 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39250662&tid=1831695]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
175ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 214ms |
| total: | 485ms |

| 0 / 0 |
