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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выборка соседних строк, Одним запросом...или нет?! 
:(
    Опции темы
-=Ustas=-
Дата 7.11.2005, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

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



Мое почтение!
У меня появилась следующая задача: Допустим я выбираю какую-нибудь строку по условию where id = '100', как мне тутже выбрать по 2 или 3 соседних строки до и после этого id-ишника? Т.е. чтоб результатом выборки были id-ишники с номерами 97, 98, 99, 101, 102, 103. Такое возможно? Если да, то буду признателен, за указание направления - куда мне копать...
Заранее благодарю.


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Black Rabbit
Дата 7.11.2005, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



select* from tablename where id BETWEEN 97 AND 103
PM MAIL ICQ   Вверх
-=Ustas=-
Дата 7.11.2005, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

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



Black Rabbit, пасиба. Буду пробовать.


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
-=Ustas=-
Дата 8.11.2005, 00:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

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



Black Rabbit, блин, торможу ужасно!!! За BETWEEN я знаю. Ты меня чуть неправильно понял. Я соседних id-ишников не могу знать. Т.е., допустим, выбрана строка с id-ишником 100, а соседние могут иметь дырки и пробелы, типа 26, 35, 99 100, 101, 102, 150 - например. Вот как мне выбрать по три или две строки до и после 100 id-ишника? Ман по мускулу уже излазил, пока ничего. Вообще возможно такое?


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Mal Hack
Дата 8.11.2005, 01:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


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

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



двумя запросами, либо через вложенные селект.
Код

SELECT `id` FROM `table` WHERE `id` <= 100 AND id = ( SELECT `id` FROM `table` WHERE `id` > 100 ORDER BY `id` ASC LIMIT 3 ) ORDER BY `id` DESC LIMIT 7


ID = можно использоватьб как id IN.
PM ICQ   Вверх
-=Ustas=-
Дата 8.11.2005, 05:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

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



Mal Hack, спасибо!


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Mal Hack
Дата 8.11.2005, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


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

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



-=Ustas=- работает? Я просто от руки написал не проверяя smile
PM ICQ   Вверх
Ignat
Дата 8.11.2005, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

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



-=Ustas=-, поиск рулит smile
http://forum.vingrad.ru/index.php?showtopic=47240


--------------------
Теперь при чем :P
PM   Вверх
Бонифаций
Дата 8.11.2005, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Mal @ 8.11.2005, 01:59)
двумя запросами, либо через вложенные селект.
Код

SELECT `id` FROM `table` WHERE `id` <= 100 AND id = ( SELECT `id` FROM `table` WHERE `id` > 100 ORDER BY `id` ASC LIMIT 3 ) ORDER BY `id` DESC LIMIT 7


ID = можно использоватьб как id IN.

Ой. по моему такой запрос всегда будет возвращать пустой набор строк. потому что id не иожет быть в одно время и <=100 и >100


--------------------
 Бонифаций.
 
PM MAIL ICQ Skype GTalk Jabber YIM   Вверх
Mal Hack
Дата 8.11.2005, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


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

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



Условие такое.
Где id <=100 и ID из множества. Вроде все нормально.
> 100 относится к вложенному запросу.
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




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


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

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