Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Получить ближайшее число отсутствующее в последовательности
|
|||
|---|---|---|---|
|
#18+
Есть таблица с номерами Таблица(int Number) Она содержит набор случайных чисел, скажем 1,2,3,4,5,7,9,12,13... Как можно получить ближайшее отсутствующее число? В данном примере будет 6. Таблица может быть большой, скажем миллион записей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2019, 08:48 |
|
||
|
Получить ближайшее число отсутствующее в последовательности
|
|||
|---|---|---|---|
|
#18+
Lessyp, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2019, 09:01 |
|
||
|
Получить ближайшее число отсутствующее в последовательности
|
|||
|---|---|---|---|
|
#18+
LessypВ данном примере будет 6.Каким должен быьт результат, если отсутствует запись со значением 1? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2019, 09:25 |
|
||
|
Получить ближайшее число отсутствующее в последовательности
|
|||
|---|---|---|---|
|
#18+
Супер, спасибо. Если 1 отсутствует, то должен быть 1, но это можно разрулить принудительным добавлением нуля в таблицу при ее создании ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2019, 11:33 |
|
||
|
Получить ближайшее число отсутствующее в последовательности
|
|||
|---|---|---|---|
|
#18+
Lessypэто можно разрулить принудительным добавлением нуля в таблицу при ее созданииПросто переверни условие и добавь ограничение >0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2019, 11:52 |
|
||
|
Получить ближайшее число отсутствующее в последовательности
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. rn6 Код: sql 1. 2. 3. 4. rn1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2019, 15:40 |
|
||
|
Получить ближайшее число отсутствующее в последовательности
|
|||
|---|---|---|---|
|
#18+
LessypЕсли 1 отсутствует, то должен быть 1, но это можно разрулить принудительным добавлением нуля в таблицу при ее созданииЗачем в таблицу добавлять ноль, если можно добавить единицу в запрос? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 04:48 |
|
||
|
Получить ближайшее число отсутствующее в последовательности
|
|||
|---|---|---|---|
|
#18+
всем спасибо, замечательно andrey odegov Код: sql 1. я так думаю ваш вариант на большой таблице сьест много памяти т.к. все миллионы записей затянутся в память ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 06:08 |
|
||
|
Получить ближайшее число отсутствующее в последовательности
|
|||
|---|---|---|---|
|
#18+
Проверим? Возьмем 10 000 000 миллионов строк, сделаем дыру в районе 4 000 000 миллионов. Выполняем здесь https://dbfiddle.uk/?rdbms=sqlserver_2017&fiddle=37d75a987970762218a55792eadc5ca3. План здесь https://www.brentozar.com/pastetheplan/?id=Skf1w_zrE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 08:04 |
|
||
|
Получить ближайшее число отсутствующее в последовательности
|
|||
|---|---|---|---|
|
#18+
Lessypя так думаю ваш вариант на большой таблице сьест много памяти т.к. все миллионы записей затянутся в памятьТолько в случае, если поле с числами неиндексировано - да и то, "затянутся в память" не все записи, а только это поле, для сортировки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 08:29 |
|
||
|
Получить ближайшее число отсутствующее в последовательности
|
|||
|---|---|---|---|
|
#18+
andrey odegovПроверим? Возьмем 10 000 000 миллионов строк, сделаем дыру в районе 4 000 000 миллионов. Выполняем здесь https://dbfiddle.uk/?rdbms=sqlserver_2017&fiddle=37d75a987970762218a55792eadc5ca3. План здесь https://www.brentozar.com/pastetheplan/?id=Skf1w_zrE. главное что бы в "набор случайных чисел" не сложилось одинаковых ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 10:02 |
|
||
|
Получить ближайшее число отсутствующее в последовательности
|
|||
|---|---|---|---|
|
#18+
Заменить на dense_rank: Код: sql 1. 2. 3. 4. rn6 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 10:28 |
|
||
|
Получить ближайшее число отсутствующее в последовательности
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. rn1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 10:28 |
|
||
|
Получить ближайшее число отсутствующее в последовательности
|
|||
|---|---|---|---|
|
#18+
andrey odegovЗаменить на dense_rank: Код: sql 1. 2. 3. 4. rn6 главное что бы в "набор случайных чисел" не попал 0, ну и сразу чтобы 2 раза не вставать отрицательные числа ещё ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 10:35 |
|
||
|
Получить ближайшее число отсутствующее в последовательности
|
|||
|---|---|---|---|
|
#18+
Я вижу, ТЗ меняется на ходу :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 10:40 |
|
||
|
Получить ближайшее число отсутствующее в последовательности
|
|||
|---|---|---|---|
|
#18+
andrey odegovЯ вижу, ТЗ меняется на ходу :) ой всё? авторЕсть таблица с номерами Таблица(int Number) Она содержит набор случайных чисел, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 10:41 |
|
||
|
Получить ближайшее число отсутствующее в последовательности
|
|||
|---|---|---|---|
|
#18+
[quot TaPaK]andrey odegovЯ вижу, ТЗ меняется на ходу :) ой всё? авторЕсть таблица с номерами Таблица(int Number) Она содержит набор случайных чисел,автор, скажем 1,2,3,4,5,7,9,12,13... Я не вижу чисел меньше 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 10:45 |
|
||
|
Получить ближайшее число отсутствующее в последовательности
|
|||
|---|---|---|---|
|
#18+
[quot andrey odegov]TaPaKпропущено... ой всё? пропущено... пропущено... Я не вижу чисел меньше 1. пффф, действительно, решение простое Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 10:46 |
|
||
|
Получить ближайшее число отсутствующее в последовательности
|
|||
|---|---|---|---|
|
#18+
andrey odegovПроверим? Возьмем 10 000 000 миллионов строк, сделаем дыру в районе 4 000 000 миллионов. Выполняем здесь https://dbfiddle.uk/?rdbms=sqlserver_2017&fiddle=37d75a987970762218a55792eadc5ca3. План здесь https://www.brentozar.com/pastetheplan/?id=Skf1w_zrE. ну скан-же в плане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 12:53 |
|
||
|
Получить ближайшее число отсутствующее в последовательности
|
|||
|---|---|---|---|
|
#18+
Lessypну скан-же в планеИ? По-вашему это означает, что таблица будет гарантированно полностью прочитана? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 12:59 |
|
||
|
Получить ближайшее число отсутствующее в последовательности
|
|||
|---|---|---|---|
|
#18+
invmLessypну скан-же в планеИ? По-вашему это означает, что таблица будет гарантированно полностью прочитана? зависит где дырка будет найдена, в данном плане считалось 4 миллиона в память ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 13:05 |
|
||
|
Получить ближайшее число отсутствующее в последовательности
|
|||
|---|---|---|---|
|
#18+
Lessyp, Хотите сразу знать где "дырка" - ведите их учет в отдельной таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 13:22 |
|
||
|
Получить ближайшее число отсутствующее в последовательности
|
|||
|---|---|---|---|
|
#18+
TaPaK, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 16:38 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39773653&tid=1688296]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
125ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 260ms |
| total: | 467ms |

| 0 / 0 |
