|
|
|
Как выявить дыры в заданом диапазоне чисел
|
|||
|---|---|---|---|
|
#18+
Тобиш задача следующая : 1) я указываю диапазон чисел для проверки на наличие "дыр" в колонке 2) мне нужно выявить все дыры и записать значение: а) с которого начались пробелы б) число на котором закончились в) количество пропущенных и так по всем дырам в заданом диапазоне колонка много милионная select t1.f1, min(t2.f1) as mins, min(t2.f1)-t1.f1-1 as counts from #temp1 t1, #temp1 t2 where t2.f1>t1.f1 group by t1.f1 having t1.f1+1< min(t2.f1) Этот запрос решает проблему но тормозит на больших обьемах информации (сравнить за раз надо 10-20 млн строк) Может у когото есть другое решение, буду рад за подсказку :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 12:55:57 |
|
||
|
Как выявить дыры в заданом диапазоне чисел
|
|||
|---|---|---|---|
|
#18+
kolyady, 500 тысяч мульенов раз здесь на форуме это обсуждалось https://www.google.ru/search?hl=en&q=gaps and island t-sql&gws_rd=cr,ssl&dcr=0&ei=RHyWWq6iOIWRsgHZ_q34Bw ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 12:58:22 |
|
||
|
Как выявить дыры в заданом диапазоне чисел
|
|||
|---|---|---|---|
|
#18+
kolyady, составьте нумерованный многомиллионный список и найдите разницу двух наборов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 13:09:07 |
|
||
|
Как выявить дыры в заданом диапазоне чисел
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов, Тобиш вы имеете ввиду создать аналогичную таблицу с таким же диапазоном чисел (только без пропусков) и сравнить с оригиналом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 13:37:46 |
|
||
|
Как выявить дыры в заданом диапазоне чисел
|
|||
|---|---|---|---|
|
#18+
kolyady, страсти то какие... Если версия не указана, предполагается, что реализация может быть на любой версии сервера. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 13:47:53 |
|
||
|
Как выявить дыры в заданом диапазоне чисел
|
|||
|---|---|---|---|
|
#18+
Minamoto, спасибо вроде то что нужно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 13:53:54 |
|
||
|
Как выявить дыры в заданом диапазоне чисел
|
|||
|---|---|---|---|
|
#18+
kolyady, справедливости ради это не лучший вариант, посмотрите здесь сравнение по производительности (из ссылки, которую вам выше дали, нашел): https://blog.waynesheffield.com/wayne/archive/2012/04/sql-server-2012-performance-test-gap-detection/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 13:57:51 |
|
||
|
Как выявить дыры в заданом диапазоне чисел
|
|||
|---|---|---|---|
|
#18+
kolyady, да, генерация такой таблицы не займет много времени, а сравнение будет происходить очень быстро. Особенно полезна такая таблица при регулярном поиске. То же самое касается и календаря. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 16:00:10 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=162&tid=1690199]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
77ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 237ms |
| total: | 426ms |

| 0 / 0 |
