|
|
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
дана последовательность данных '00001' '00002' '00004' '00005' '00006' Как найти отстутсвующий элемент '00003' Курсоры не предлагать желательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 10:47 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
abort, lag/lead ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 10:58 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
AmKad, это не оптимально. Оптимальное решение приводили уже. Просто и читабельно. -2- Код: plsql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 12:35 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Артефакт, уймись. может быть и 2 отсутствующих. что тогда делать будешь?) sys.odcinumberlist(2,3,5,6,8,9) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 12:45 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
abortдана последовательность данных '00001' '00002' '00004' '00005' '00006' Как найти отстутсвующий элемент '00003' Курсоры не предлагать желательно. minus select.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 12:50 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Пропуски могут быть более 1. LEAD оптимально но при больших данных считается долго. Но пока терпимо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 12:55 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Vint, как?! а все, теперь вижу последний комментарий топикстартера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 12:57 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
abortдана последовательность данных '00001' '00002' '00004' '00005' '00006' Как найти отстутсвующий элемент '00003' А можно алгоритм, по которому определяется разрыв в последовательности символьных данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 13:03 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Артефакт, хрустальный шар всегда прав)) abort , а еще может отсутствовать подряд несколько значений)) сто раз светилось это решение и на собеседования я обычно спрашиваю и хочу увидеть именно его Код: plsql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 13:07 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Жертва abortа, формируются файлы, автоматом они парсятся и заносятся в БД. При это присваивается сквозной номер. Но иногда обработчик дает сбой или файл(ы) не поступают. Т.е. вместо последовательности данных имена файлов с сквозным сиквенсом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 13:07 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
VintАртефакт, хрустальный шар всегда прав)) abort , а еще может отсутствовать подряд несколько значений)) сто раз светилось это решение и на собеседования я обычно спрашиваю и хочу увидеть именно его Код: plsql 1. 2. 3. 4. 5. Собеседование? О господи. Кого вы там собеседуете? И чем вам SELECT LEVEL FROM DUAL CONNECT BY LEVEL < n ... не угодил? Какие еще odcinumberlist ? Код: plsql 1. 2. 3. 4. 5. 6. или даже быстрее раза в два: Код: plsql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 13:36 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbpatch, иди учись читать. особенно полезно с третьего поста откуда и был взят odcinumberlist. придраться больше не к чему? или есть что по основной задаче автора сказать? ты бы точно не прошёл)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 13:41 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Vint, dbpatch это все я виноват. Попытался неудачно пошутить в серьезной теме и внес смуту в общение. Удаляю свой серый ник. Еще раз простите! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 13:51 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Vintdbpatch, иди учись читать. особенно полезно с третьего поста откуда и был взят odcinumberlist. придраться больше не к чему? или есть что по основной задаче автора сказать? ты бы точно не прошёл)) я придрался к твоей ультрапафосной фразе: "сто раз светилось это решение и на собеседования я обычно спрашиваю и хочу увидеть именно его " выяснить, с какого перепугу ты его хочешь видеть только его - прямо экзестенциальная научная проблема теперь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 13:52 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbpatch, Код: plsql 1. 2. 3. 4. 5. вот тебе тестовые данные. жду твоих тестов по времени выполнения, не надорвись там... потом может быть снизойду до убого и поясню почему жду именно такого решения, раз уж кто-то не смог за год найти кнопку поиска ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 14:00 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Vintdbpatch, Код: plsql 1. 2. 3. 4. 5. вот тебе тестовые данные. жду твоих тестов по времени выполнения, не надорвись там... потом может быть снизойду до убого и поясню почему жду именно такого решения, раз уж кто-то не смог за год найти кнопку поиска да да, ты главное жди :) все сейчас возьмут и бросятся считать дыры на пространствах галактического масштаба, т.е. на задаче, выковырянной вот сейчас вчерашним студентом из носу ты что сказать-то хотел? что на CONNECT BY temp/pga расходуется? и? у него в задаче пять разрядов в цифрах, потребность в памяти можешь сам посчитать, на калькуляторе, собеседователь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 14:07 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbpatch, это ты притянул за уши all_objects, и это ты начал про "даже быстрее раза в два", а теперь вдруг слился и не хочешь считать количество лапши на своих ушах))) и как "вчерашний студент"(для меня это комплимент если что) могу посоветовать быть более предметным и последовательным)) а не прыгать с темы на тему. твои решения сто раз обсасывались на этом форуме)) еще лет 12 назад. если мне не изменяет моя студенческая память и дата регистрации))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 14:17 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Vintсто раз светилось это решение и на собеседования я обычно спрашиваю и хочу увидеть именно егоПозориться с ROWNUM аж сто раз не стоило. dbpatchвсе сейчас возьмут и бросятся считать дыры на пространствах галактического масштабаИди патчь БД. Разработка это не твоё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 14:25 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Elic, лично твое мнение? или опять холиварить будем?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 14:37 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Elicdbpatchвсе сейчас возьмут и бросятся считать дыры на пространствах галактического масштабаИди патчь БД. Разработка это не твоё. Я конечно извиняюсь, но у тебя разве кто-то спрашивал, кому что сейчас и вообще нужно делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 14:55 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbpatchЯ конечно извиняюсь, но у тебя разве кто-то спрашивал, кому что сейчас и вообще нужно делать?Troll detected. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 14:58 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
На хабре была похожая статья https://habrahabr.ru/post/303364/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 15:02 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Vintdbpatch, это ты притянул за уши all_objects, и это ты начал про "даже быстрее раза в два", all_objects это обычная практика для примеров, ибо он есть у всех, что тебя так перевозбудило? Vintа теперь вдруг слился и не хочешь считать количество лапши на своих ушах))) С чего бы я слился? Это ты в лужу сел, не понимая суть задачи. Заполнение дыр актуально на человеко-читаемых данных, т.е. когда у тебя до 6 разрядов (до шести цифр), и там connect by работает очень хорошо. Когда у тебя диапазон за миллион - то там никакой нужды заполнять дыры ни в одной практической задаче нет, там работают просто сиквенсы и дыры никого не напрягают. Ибо это 100% не статические справочники, а бизнес-факты. И даже если очень припечет (к примеру искать номера пропущенных номеров телефонов у операторов или кредитных карт у банков) - никто не мешает поработать диапазонами по 100к в цикле. Ты мне сунул под нос свою фантазию, я тебе прямо сказал - эта твоя выдуманная "задача" - это пускание пузырей сидя из лужи, и не смешно и не актуально. Зачем ты это сделал и что хотел доказать - загадка. Vintи как "вчерашний студент"(для меня это комплимент если что) могу посоветовать быть более предметным и последовательным)) а не прыгать с темы на тему. твои решения сто раз обсасывались на этом форуме)) еще лет 12 назад. если мне не изменяет моя студенческая память и дата регистрации))) мои решения? дата регистрации? сюр какой-то. ну пытаешься ты сохранить лицо, это понятно, но я то тут причем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 15:05 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbpatchVintАртефакт, хрустальный шар всегда прав)) abort , а еще может отсутствовать подряд несколько значений)) сто раз светилось это решение и на собеседования я обычно спрашиваю и хочу увидеть именно его Код: plsql 1. 2. 3. 4. 5. Собеседование? О господи. Кого вы там собеседуете? И чем вам SELECT LEVEL FROM DUAL CONNECT BY LEVEL < n ... не угодил? Какие еще odcinumberlist ? Код: plsql 1. 2. 3. 4. 5. 6. или даже быстрее раза в два: Код: plsql 1. 2. 3. Итак, в первом примере два полных сканирования, ANTI JOIN, и connect by. Во втором два полных сканирования, connect by и сортировка, требуемая для минус. В примере Винта одно сканирование и сортировка, требуемая для аналитики (если дырки ищутся в PK например, то сортировка вообще не потребуется, т.к. данные могут быть уже вычитаны упорядочено). Ты утверждаешь что твое решение имеет какие-то преимущества? Свой connect by ты можешь чуть улучшить генерируя от min до max а не от 1 до max, но все равно его сюда приплетать и генерировать весь диапазон тот еще идиотизм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 15:36 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopТы утверждаешь что твое решение имеет какие-то преимущества? Преимущества перед чем, прости? table(sys.odcinumberlist(2,3,5,6,8,9)) это не решение задачи в общем случае, это вообще не решение. dbms_photoshopСвой connect by ты можешь чуть улучшить генерируя от min до max а не от 1 до max, но все равно его сюда приплетать и генерировать весь диапазон тот еще идиотизм. Да ты что? Ну приведи пример своего ээээ.... неидиотизма, и мы тут сейчас выскажем свое оценочное суждение :) А то кричать лишь "гляди, повели идиота" - любой идиот сможет. А по поводу того, что можно и (нужно порой_ генерировать и проверять произвольные диапазоны от N до M я говорил выше в фразе про "100к в цикле", и? Кому надо, тот и сам догадается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 16:56 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39391008&tid=1886574]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
160ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 498ms |

| 0 / 0 |
