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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Извлечение.. меньших максимальных и, больших минимальных 
:(
    Опции темы
Sunvas
Дата 3.5.2008, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


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

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



Есть таблица, в которой находиться целочисленное поле `pos`. Нужно одним запросом извлечь все строки из базы, у которых значение поля `pos` меньше заданого, но максимальны и больше заданого, но минимальны.

Т.е. например:

id|pos
1|5
2|5
3|8
4|4
5|3
6|8
7|8
8|9
9|9
10|10


Задано число 6, должно извлечь строки с идам 1,2,3,6,7. 1 и 2 извлекаються, потому что у них pos=5 (меньшее максимальное число), а 3,6,7 потому что pos у них=8 (большее минимальное).


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
skyboy
Дата 3.5.2008, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


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

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



сначала выбираешь минимальное "после" и максимальное "до", а потом вставляешь эти значения в WHERE для выбора набора строк(либо при помощи подзапроса, либо при помощи переменных).
зря не указал СУБД с версией.
PM MAIL   Вверх
Sunvas
Дата 3.5.2008, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


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

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



Цитата(skyboy @  3.5.2008,  08:45 Найти цитируемый пост)
зря не указал СУБД с версией.

Поздно было...  smile  MySql 5

 smile 


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Magnifico
Дата 3.5.2008, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 23.1.2008
Где: Московская област ь

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



если ещё актуально:

Код

select * 
from table
where pos =
(
select max(pos)
from table
where  pos < 6  
)
or pos =
(
select min(pos)
from table
where  pos > 6  
)



--------------------
Всё  в  порядке   -   спасибо  зарядке  !
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




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


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

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