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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Задачка по SQL, нужна помощь в решении 
V
    Опции темы
iNDRA
Дата 5.8.2008, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

SELECT MIN(q), MAX(q)
FROM (
SELECT MIN(q) q
FROM (SELECT q_id + 1 q FROM utq EXCEPT SELECT q_id q FROM utq) asdf
UNION
SELECT MAX(q) q
FROM (SELECT q_id - 1 q FROM utq EXCEPT SELECT q_id q FROM utq) asdf
) asdf

PM MAIL   Вверх
commanderz
  Дата 7.8.2012, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Это придумал Бузаджи :
Код

select t.ID+1 ,Min(T1.ID)-1,Min(T1.ID)-t.ID-1 
from TABLE1 T
join  TABLE1 T1 on T.id<T1.id
where t.ID<=1000   /*или свои условия, например: between, in,.. итд*/
   and t1.ID<=1000 /*или свои условия, например: between, in,.. итд*/
group by t.ID
having Min(T1.ID)-t.ID>1

Получаем промежутки в которых удалены записи.
В первой колонке будет начальный ID промежутка, во второй - конечный.
В третьей количество удаленных записей в промежутке.

PM MAIL   Вверх
kkkh
Дата 27.11.2012, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



select min(xx.no), max(xx.no) from
(select a.no from 
(select case when Q_ID<0 then Q_ID+1 else Q_ID-1 end no from utQ) as a left join utQ  as b on a.no=b.q_id where b.q_id is null and a.no>(select min(q_id) from utQ) and a.no<(select max(q_id) from utQ)) as xx
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




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


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

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