Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получение тех id, которых нет в таблице 
:(
    Опции темы
MacTep
Дата 8.4.2008, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

Репутация: нет
Всего: 4



Предположим, что в  таблице есть строки с id 1, 2, 3, 4, 7, 8. Как получить недостающие? smile То есть 5 и 6?


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
Akina
Дата 8.4.2008, 16:11 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



а также 9, 10, 0, -1 ...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
bars80080
Дата 8.4.2008, 16:34 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 5
Всего: 315



ну, наверно сделать выборку по id 
Код
select id from table
 выжать максимальное значение и затем прогой пройтись по ним в цикле, определяя есть ли значение. вроде sql нельзя... (насколько знаю)
PM MAIL WWW   Вверх
Feldmarschall
Дата 8.4.2008, 21:15 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 3
Всего: 32



Есть у меня сильное подозрение, что такая выборка не нужна
А если понадобиласть, то это говорит о криво спроектированном приложении
PM   Вверх
MacTep
Дата 9.4.2008, 06:49 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

Репутация: нет
Всего: 4



Akina, нет, от минимального id до максимального.


bars80080, запросом можно, ибо такого рода задания есть на sql-ex.ru


Feldmarschall, все о том же... Приложения вообще нет. Есть тупо задание - найти. И все тут... Причем - именно sql-запросом.


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
Akina
Дата 9.4.2008, 08:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Цитата(MacTep @  9.4.2008,  07:49 Найти цитируемый пост)
Причем - именно sql-запросом

Запросом это сделать невозможно. В любом случае потребуется генерация таблицы ID-ов от минимального до максимального значений. То есть это минимум 2 запроса и один цикл генерации. Так что это будет, например, хранимка.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Feldmarschall
Дата 9.4.2008, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 3
Всего: 32



MacTep, это учебное задание? А где такие дают?
PM   Вверх
Fortop
Дата 9.4.2008, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 4
Всего: 42



Feldmarschall, 
На sql-ex.ru видел подобное


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
MacTep
Дата 10.4.2008, 06:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

Репутация: нет
Всего: 4



Feldmarschall, я же писал.
Цитата

bars80080, запросом можно, ибо такого рода задания есть на sql-ex.ru




Akina, я понимаю, что ты зхочешь сказать. Но на sql-ex.ru нет вообще хранимых процедур. Там все строится только простым select'ом. Вот я и ломаю голову. Неужели они знают что-то такое, что не знаем мы? smile


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
MacTep
Дата 11.4.2008, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

Репутация: нет
Всего: 4



Интузиазма иссякла? smile


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
Feldmarschall
Дата 11.4.2008, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 3
Всего: 32



У кого?
PM   Вверх
igorold
Дата 12.4.2008, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

Репутация: 5
Всего: 17



Вот так можно  найти первое значение, которое пропущено:
Код

select t2.i+1 FROM Users t1 left join Users t2 on t2.i=t1.i+1 WHERE t1.i>1 order by t1.i limit 1;



--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
Akina
Дата 15.4.2008, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Цитата(igorold @  12.4.2008,  18:16 Найти цитируемый пост)
так можно  найти первое значение, которое пропущено

Первое - да. Аналогично можно одним запросом найти все пропущенные ID, при условии что количество идущих подряд пропущенных ID ограничено заранее известным числом (и не слишком большим - иначе получится такой SQL-линкор, который ни одному движку окажется не под силу). Если же теоретического ограничения на количество подряд идущих пропущенных ID нет, то построение такого запроса мне представляется сомнительным.
Хотя если движок БД не имеет ничего против рекурсии - наверное, все-таки реализуемо...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0905 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.