Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
21.01.2005, 05:35
|
|||
|---|---|---|---|
Как перенумеровать записи в группе? |
|||
|
#18+
ASE 12.0 В запросе нужно перенумеровать записи внутри каждогой группы с одинаковым значением полей A, B начиная нумерацию каждой группы с 1, желательно в заданном порядке (на пример, в сортировке по полям A, B, C, D ). Т.е. получить такой результат (NN): А В ... NN 1 1 ... 1 1 1 ... 2 1 1 ... 3 1 2 ... 1 1 3 ... 1 1 3 ... 2 Подскажите как это сделать или хотябы ткните пальцем в каком направлении копать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.01.2005, 15:26
|
|||
|---|---|---|---|
|
|||
Как перенумеровать записи в группе? |
|||
|
#18+
казалось бы так (для ASA9): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. но у меня сортирует корректно только первую группу. Очевидно есть какие-то ньюансы с update и/или уровнями изоляции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.01.2005, 15:34
|
|||
|---|---|---|---|
|
|||
Как перенумеровать записи в группе? |
|||
|
#18+
кстати, почему только первую группу? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.01.2005, 09:38
|
|||
|---|---|---|---|
Как перенумеровать записи в группе? |
|||
|
#18+
В ASE 12.0 так не прокатывает - в подселекте участвуют значения данных до начала транзакции - т.е max(NN) = 0 для всех записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.01.2005, 11:07
|
|||
|---|---|---|---|
Как перенумеровать записи в группе? |
|||
|
#18+
Для ASA 9.0.2 спокойно и очень быстро прокатит вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Для более старых версий ASA, а так же версий ASE предлагаю копать в сторону использования промежуточной переменной в UPDATE, хотя тогда без курсора по группам "A" и "B" не обойтись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.01.2005, 12:32
|
|||
|---|---|---|---|
Как перенумеровать записи в группе? |
|||
|
#18+
ASE не знает что такое ROW_NUMBER () OVER(). В DB2 тоже функция такая есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.01.2005, 12:36
|
|||
|---|---|---|---|
Как перенумеровать записи в группе? |
|||
|
#18+
golsaВ DB2 тоже функция такая есть. Оттуда все плавно и перетекает в ASA (OLAP, CTE, WITH RECURSIVE, ...). Не удивлюсь, если окажется, что у них и в оптимизаторох много всего общего, раз уж эти 2 СУБД обе пытаются развивать стратегию с нулевым (минимальным) администрированием и интеллектуальные оптимизаторы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.01.2005, 13:43
|
|||
|---|---|---|---|
Как перенумеровать записи в группе? |
|||
|
#18+
Где-то так. Добавить нужную группировку если надо. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.01.2005, 14:18
|
|||
|---|---|---|---|
Как перенумеровать записи в группе? |
|||
|
#18+
to Crip Спасибо за идею, так по крайней мере считает, а условиями можно задать группировку и, чуть напрягшись сортировку . Может кому еще понадобится: update testRecno set testRecno.nn = (select count(*) from dbo.testRecno s where s.a = testRecno.a and (s.b < testRecno.b or (s.b < testRecno.b and s.c <= testRecno.c ) группировка по A, сортировка в группе по B,C ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=55&tablet=1&tid=2013944]: |
0ms |
get settings: |
9ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
55ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 258ms |
| total: | 393ms |

| 0 / 0 |
