|
|
|
задачка -- как выбрать несуществующую информацию ...
|
|||
|---|---|---|---|
|
#18+
предположим для упрощения что есть таблица с числами пусть они будут целые и их диапазон может быть любым и разумеется не сквозным например num 1 4 2 10 14 задача в том чтобы определить какие именно числа отстуствуют в этой таблице в отрезке от min(num) по max(num) очевидно что это 3,5,6,7,8,9,11,12,13 все бы ничего но по условию задачи нельзя использовать хранимки, все должно быть сделано одним селектом с подзапросами на уровне 4.1 запрещено использовать какие либо вспомогательные таблицы существующие до выполнения этого запроса. задачка только для прокачки, но сама интересна, сижу второе утро, думаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 15:12:06 |
|
||
|
задачка -- как выбрать несуществующую информацию ...
|
|||
|---|---|---|---|
|
#18+
На практике подобное нужно было с датами. Решил просто - генерацией шкалы дат в отдельной таблице :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 15:21:35 |
|
||
|
задачка -- как выбрать несуществующую информацию ...
|
|||
|---|---|---|---|
|
#18+
>>>Решил просто - генерацией шкалы дат в отдельной таблице :) на практике то да но все таки не то если например нет ограничений по длине отрезка ну для дат там еще хоть куда ни шло то для чисел даже целых придется делать таблицу из минимум 4 миллиардов строк. или же перед запуском запроса делать еще один запрос в цикле что-ли, все таки нужна хп, определяющая минимум и максимум и генерящая таблицу именно под этот отрезок, маразм. не а не проходит по условиям, продолжаем думать хотя задача если вдуматься довольно реальная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 15:28:32 |
|
||
|
задачка -- как выбрать несуществующую информацию ...
|
|||
|---|---|---|---|
|
#18+
Не совсем математически она лейгая, она кажется легкой. Сервер манипулирует дискретными величинами, а не отсутствием величин... Применительно для цифр можно попробовать провернуть через временную таблицу: сначала загрузить по четным и нечетным значеним в 2 поля А потом просто вернуть разницу между ними либо относительно какого-либо элемента, вобщем потом уже закалькулировать результат в явно существующих интервалах... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 15:32:26 |
|
||
|
задачка -- как выбрать несуществующую информацию ...
|
|||
|---|---|---|---|
|
#18+
Может так подойдет : Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Но работать должен, хотя про производительность и оптимизацию говорить не приходится... P.S. Сам я не "местный" так, что с MySQL не сильно знаком... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2005, 04:10:19 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=33452349&tid=1853259]: |
0ms |
get settings: |
9ms |
get forum list: |
23ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
196ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 509ms |

| 0 / 0 |
