Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 13:57 27.06.24 
Клубове/ Компютри и Интернет / Бази данни Всички теми Следваща тема Пълен преглед*
Информация за клуба
Тема Re: Идея .. [re: mr.vain]
Автор salle (един такъв)
Публикувано21.04.05 10:02  



Ако предположим, че дупките са само от една стойност т.е. няма две или повече опследователни липсващи числа то ето го частното решение:

mysql> SELECT id2 - 1 FROM
(SELECT @i = id AS i, @i := id + 1 AS id2 FROM d ORDER BY id) AS t1
WHERE id2 NOT IN (SELECT id FROM d);
+---------+
| id2 - 1 |
+---------+
| 11 |
| 16 |
| 20 |
| 22 |
| 24 |
| 30 |
+---------+


Тук последният ред е излишен, но той е най-лесно да се изреже пък и той всъщност отговаря на усволието (следващият ред не съдържа +1 просто защото не същестува)

Освен това предположението което правя в началото също може да се изведе от начина по който поставяш условието

"тези, след който има дупка"
т.е. ако изтрием реда с 13 например то дупката състояща се от 12, 13 се намира след 11 и резултатът продължава да е верен:
mysql> delete from d where id = 13;
Query OK, 1 row affected (0.00 sec)

mysql> SELECT id2 - 1 FROM (SELECT @i = id AS i, @i := id + 1 AS id2 FROM d ORDER BY id) AS t1 WHERE id2 NOT IN (SELECT id FROM d);
+---------+
| id2 - 1 |
+---------+
| 11 |
| 16 |
| 20 |
| 22 |
| 24 |
| 30 |
+---------+



Цялата тема
ТемаАвторПубликувано
* SQL Select mr.vain   20.04.05 12:23
. * Re: SQL Select Bobiander   20.04.05 13:35
. * Re: SQL Select mr.vain   20.04.05 19:22
. * Re: Идея .. salle   21.04.05 10:02
. * Re: SQL Select phpGuru   21.04.05 10:22
. * Re: SQL Select mr.vain   21.04.05 10:44
. * Re: Би трябвало и двата да ти вършат работа salle   21.04.05 22:39
. * Re: Би трябвало и двата да ти вършат работа mr.vain   21.04.05 22:47
. * Re: Би трябвало и двата да ти вършат работа phpGuru   22.04.05 12:29
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.