|
|
|
хитрая сортировка
|
|||
|---|---|---|---|
|
#18+
Добрый день, надо по работе сделать одну хитрую сортировку. допустим у меня есть 6 записей в неиндексированной таблице a b c d 1 1 null 0 2 2 null 0 3 1 null 0 4 3 null 0 5 2 null 0 6 1 null 0 надо сделать выборку SELECT с сортировкой по полю b так, чтобы записи перетасовались по группам с уникальным значением поля b повторяясь, т.е. получилось a b c d 1 1 null 0 2 2 null 0 4 3 null 0 3 1 null 0 5 2 null 0 6 1 null 0 то бишь вначале ищутся значения с полем b=1, берется самая первая запись, далее с полем b=2,3 и тд, как только все первые найдены, опять ищем следующую запись с b=1,2,3... если кто сталкивался или придумает, напишите пжста. Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2014, 13:14:14 |
|
||
|
хитрая сортировка
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2014, 13:22:37 |
|
||
|
хитрая сортировка
|
|||
|---|---|---|---|
|
#18+
evgen29вначале ищутся значения с полем b=1, берется самая первая запись, далее с полем b=2,3 и тд, как только все первые найдены, опять ищем следующую запись с b=1,2,3... Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Код: sql 1. 2. 3. ABCD110220430310520610 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2014, 13:29:47 |
|
||
|
хитрая сортировка
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Код: sql 1. 2. а я теперь знаю, какой будет след. вопрос у ТСа... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2014, 13:30:40 |
|
||
|
хитрая сортировка
|
|||
|---|---|---|---|
|
#18+
Таблоид, ДС в своем репертуаре - стебется с человека, не осилившего тему "Читать всем" и, соответственно, не указавшего версию сервера :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2014, 13:52:53 |
|
||
|
хитрая сортировка
|
|||
|---|---|---|---|
|
#18+
Я даю простейшие варианты. Если у человека неправильная версия - его проблема, пусть берёт правильную. Для контрольной это пофиг, а в продуктиве такие извраты не бывают. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2014, 14:04:18 |
|
||
|
хитрая сортировка
|
|||
|---|---|---|---|
|
#18+
не ругайтесь, версия 2.1 и к сожалению ближайшее время апгрейд не предвидится. Зависит это не от меня. Эта штука под 2.1 не работает select a,b,c,d from t order by row_num() over (partition by b),b эта может и работает select a.* from t a order by (select count(*) from t x where x.b=a.b and x.a<a.a) но нет поля, которое проставляет порядковый номер записи а через rdb$db_key никак нельзя сделать второй запрос? Просто при преобразовании в число rdb$db_key ругается на x.rdb$db_key<a.rdb$db_key ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2014, 14:14:47 |
|
||
|
хитрая сортировка
|
|||
|---|---|---|---|
|
#18+
evgen29эта может и работает ... но нет поля, которое проставляет порядковый номер записиПотрудитесь привести нормальный DDL таблицы, пример данных (10-12 строк) и то, что вам надо получить. Про "порядковый номер" ничего не говорилось в стартовом посте. Пример оформления вопроса см. в прилепленной теме "ЧИТАТЬ ВСЕМ, КТО ..." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2014, 14:20:44 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=101&tid=1563830]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
24ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 331ms |

| 0 / 0 |
