|
|
|
Выбрать последовательность по двум колонкам со стартовым значением.
|
|||
|---|---|---|---|
|
#18+
Например, есть последовательность, по какому-то правилу созданная: Таблица `СортДата` Сортверхниз102125134140153 Например, мне нужно вывести последовательность желательно единым запросом, но что-то не приходит ничего хорошего. А приходит только подобное: Код: sql 1. 2. Подобный запрос выводит следующее: верхниз022553 Всё бы хорошо, но почему-то обрывается последовательность и до конца не доходит. По сути он должен дойти до конца: верхниз3440 И, по сути зациклиться. Но даже если поменять на 999, то ничего не меняет. 1. Почему запрос обрывается? 2. Есть ли этому готовое решение и как его называют чтобы найти? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2018, 21:14 |
|
||
|
Выбрать последовательность по двум колонкам со стартовым значением.
|
|||
|---|---|---|---|
|
#18+
X-rayboy, что такое "последовательность" в вашей терминологии? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2018, 21:17 |
|
||
|
Выбрать последовательность по двум колонкам со стартовым значением.
|
|||
|---|---|---|---|
|
#18+
miksoftX-rayboy, что такое "последовательность" в вашей терминологии? Последовательность - признак по следу - это шаг подчинённый какому-то правилу. Следы это значение в строках в двух колонках (2, 3 в данности). В данности правило такое, что я получив верх опускаюсь вниз. Подобно, получив низ, можно подыматься вверх. Иные колонки (добавочные), кроме этих двух, нецелесообразно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2018, 21:29 |
|
||
|
Выбрать последовательность по двум колонкам со стартовым значением.
|
|||
|---|---|---|---|
|
#18+
Ага, понял, это цепочка, а не последовательность. В версии 8.0 можно через CTE . В более ранних версиях теоретически тоже можно, но это на грани черной магии. Подробностей уже не помню. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2018, 21:39 |
|
||
|
Выбрать последовательность по двум колонкам со стартовым значением.
|
|||
|---|---|---|---|
|
#18+
miksoftАга, понял, это цепочка, а не последовательность. В версии 8.0 можно через CTE . В более ранних версиях теоретически тоже можно, но это на грани черной магии. Подробностей уже не помню. Магия это то, что идёт вроде как и выдаёт результат, а потом бац и стопарь. Никакой ошибки не выдаёт. Пусть оно объяснит где у неё поломалось по "середине"? Может калькулятор сломался? В декрет кто-то уволился и считать некому стало? Если бы оно не работало, то и не началось бы. А тут вроде как на полшышечки что-то отобразило ... и бац на те ... остеохондроз ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2018, 21:51 |
|
||
|
Выбрать последовательность по двум колонкам со стартовым значением.
|
|||
|---|---|---|---|
|
#18+
X-rayboyМагия это то, что идёт вроде как и выдаёт результат, а потом бац и стопарь. Никакой ошибки не выдаёт. Пусть оно объяснит где у неё поломалось по "середине"? Может калькулятор сломался? В декрет кто-то уволился и считать некому стало? Если бы оно не работало, то и не началось бы. А тут вроде как на полшышечки что-то отобразило ... и бац на те ... остеохондроз ...Не, это вы про обычную магию... :) А та "магия" реально работала. И в тот единственный раз, когда я осилил в ней разобраться, она была вполне исправно и надежно работающей. Но потом забыл, как это работает, а разбираться повторно уже не стал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2018, 22:00 |
|
||
|
Выбрать последовательность по двум колонкам со стартовым значением.
|
|||
|---|---|---|---|
|
#18+
1. От части я понял почему идёт обрыв. Потому что нет повторного (с начала) поиска значения. База единожды пробегает по таблице и если по пути ей ничего не встретилось, то значит не судьба - печалька. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2018, 22:29 |
|
||
|
Выбрать последовательность по двум колонкам со стартовым значением.
|
|||
|---|---|---|---|
|
#18+
Ну если версия маловата, то пиши SP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2018, 23:04 |
|
||
|
Выбрать последовательность по двум колонкам со стартовым значением.
|
|||
|---|---|---|---|
|
#18+
Ну что же, поставил MySQL 8.0, правда переход с MySQL 5 привёл к отторжению таблиц и уже многие часы восстанавливается база. Вот решение на MySQL 8.0 Код: plsql 1. 2. 3. 4. 5. 6. где n - это количество повторов, в примере ограничено 8-ю; где k - это задаваемый начальный параметр. Может итогово можно оптимизировать запрос, но пока такого не умею. Выполнение данного запроса выводит следующее: nk001225334450627583 Так как данных мало и низ совпадает с верхом, то это приводит к зацикливанию, но ограничено 8-ю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2018, 23:44 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39736440&tid=1829457]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 142ms |

| 0 / 0 |

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