SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 16.09.2008 10:57:10

streetpeople
Участник
Зарегистрирован: 16.09.2008
Сообщений: 1

Как вытащить 2-а предыдущих элемента

Встала задача написать левое меню, как на картинке, для интернет-магазина.

Когда мы находимся в каком-то каталоге мы должны видеть все товары, которые находятся в нём, а также целый список каталогов, которые находятся на уровне родителя этого каталога, и все каталоги которые находятся на 2-а уровня вложенности выше и т.д., причём каждый список товаров, должен начинаться на 2-а элемента раньше чем текущий каталог.

Проще говоря мне нужно написать mySQL запрос который позволяет вытащить из таблицы n элементов, 2-а из которых (на изображении серые) находятся "выше" чем элемент который мы запрашиваем через ID (сразу оговорюсь, что ID не циферный).

Ребята по MSSQL советовали воспользоваться "SELECT Top -2", но к сожалению в MySQL есть только LIMIT, на котором, то, о чём я говорю написать невозможно.

У кого-нить есть какие-нибудь соображения на сей счёт? Может кто-то с этим уже сталкивался?


Прикрепленные файлы:
Attachment Icon products_catalog.jpg, Размер: 65,432 байт, Скачано: 640

Неактивен

 

#2 16.09.2008 12:44:05

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Как вытащить 2-а предыдущих элемента

SELECT * FROM table WHERE id<'$myid' ORDER BY id DESC LIMIT 2;

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson