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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Узнать порядковый номер записи запроса 
:(
    Опции темы
Vreden
Дата 10.5.2012, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Idiotic Admin
**


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

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



Есть такой запрос:

Код

SELECT COUNT(p.ID) FROM cib_product as p WHERE p.ID IN (SELECT IDProduct FROM `cib_product_location` 
WHERE IDLocationCatalog='$IDCatalog' or (IDLocationSection='$IDCategory' and IDLocationSection!='0') 
or (IDLocationSection='$IDSection' and IDLocationSection!='0')) 
ORDER BY p.Position, p.ID


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

Для чего:
Данным запросом я узнаю общее количество товаров, отображаемых в конкретном каталоге - разделе - секции. (постраничный вывод)
Нужно узнать номер страницы, на которой находится товар с определенным ID и находящийся в определенном каталоге - разделе - секции, т.е удовлетворяющий WHERE, указанный в запросе выше

Это сообщение отредактировал(а) Vreden - 10.5.2012, 18:55


--------------------
Чё? Как? ©
PM MAIL WWW   Вверх
Fortop
Дата 10.5.2012, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Vreden @  10.5.2012,  18:48 Найти цитируемый пост)
Нужно узнать номер страницы, на которой находится товар с определенным ID и находящийся в определенном каталоге - разделе - секции, т.е удовлетворяющий WHERE, указанный в запросе выше

Вечер...
Я плохо понял смысл этой идеи.

Но вообще вот


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


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


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

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



Цитата(Vreden @  10.5.2012,  19:48 Найти цитируемый пост)
мне нужно знать каким по счету он идет в результате данной выборки

SQL.RU MySQL FAQ: Нумерация строк и другие вопросы про использование переменных 

Цитата(Fortop @  10.5.2012,  20:31 Найти цитируемый пост)
Я плохо понял смысл этой идеи.

Но вообще вот 

Правильно тебя матюгнули в соседней теме. Лучше не писал бы... даже запрос в гугле составил чёрт те как...



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

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


Idiotic Admin
**


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

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



Код

SET @n :=0;
SELECT @n := @n +1 AS rownum, p.ID
FROM cib_product AS p
WHERE p.ID
IN (

SELECT IDProduct
FROM  `cib_product_location` 
WHERE IDLocationCatalog =  '$IDCatalog'
OR (
IDLocationSection =  '$IDCategory'
AND IDLocationSection !=  '0'
)
OR (
IDLocationSection =  '$IDSection'
AND IDLocationSection !=  '0'
)
)
ORDER BY p.Position, p.ID;


Данный запрос возвращает массив пронумерованных записей, я не возьму в толк как мне вернуть не массив, а одно значение, которое будет равно номеру записи при определенном ID, я понимаю, что в данном запросе я нигде не указывают условие, чтобы ID равнялось чему-то, но я и не могу понять как его таким образом составить.


--------------------
Чё? Как? ©
PM MAIL WWW   Вверх
Fortop
Дата 10.5.2012, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Akina @  10.5.2012,  19:38 Найти цитируемый пост)
Лучше не писал бы... даже запрос в гугле составил чёрт те как...

Посмотреть результаты выдачи сил видимо не хватило? smile

user posted image


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


Idiotic Admin
**


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

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



Fortop, мне кстати не нужно пронумеровывать все записи, мне нужно узнать порядковый номер одной записи конкретного запроса

Это сообщение отредактировал(а) Vreden - 10.5.2012, 20:47


--------------------
Чё? Как? ©
PM MAIL WWW   Вверх
Fortop
Дата 10.5.2012, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Vreden @  10.5.2012,  20:43 Найти цитируемый пост)
Мне кстати не нужно пронумеровывать все записи, мне нужно узнать порядковый номер одной записи конкретного запроса 

Как ты это планируешь сделать?


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


Idiotic Admin
**


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

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



Цитата(Fortop @ 10.5.2012,  20:45)
Как ты это планируешь сделать?

Я подумываю над тем, чтобы найти кого-нибудь, кто поможет мне это сделать.


--------------------
Чё? Как? ©
PM MAIL WWW   Вверх
Fortop
Дата 10.5.2012, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Vreden, как можно узнать номер записи, если у нее его нет?
Мне кажется сначала нужно их пронумеровать smile

А затем уже можно выбрать по ИД, ее номер

Добавлено через 3 минуты и 21 секунду
А вот зачем знать номер страницы каталога, на которой есть этот товар я не сильно понял....


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


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


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

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



Цитата(Vreden @  10.5.2012,  21:40 Найти цитируемый пост)
как мне вернуть не массив, а одно значение, которое будет равно номеру записи при определенном ID, я понимаю, что в данном запросе я нигде не указывают условие, чтобы ID равнялось чему-то, но я и не могу понять как его таким образом составить. 

Вот всё, что сделано - это подзапрос. Из которого внешним запросом выберите одну нужную запись, с требуемымым ID.

Цитата(Fortop @  10.5.2012,  21:40 Найти цитируемый пост)
Посмотреть результаты выдачи сил видимо не хватило? 

Хватило, хватило - потому и высказал. Из первой десятки - НИ ОДНОГО по MySQL. Исключительно MS SQL и Access. 





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

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


Эксперт
****


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

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



Цитата(Akina @  10.5.2012,  22:02 Найти цитируемый пост)
Хватило, хватило - потому и высказал. Из первой десятки - НИ ОДНОГО по MySQL. Исключительно MS SQL и Access. 

Ну-да, ну-да....
user posted image


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Akina
Дата 11.5.2012, 07:41 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Fortop
1) порядок выдачи результатов меняется, когда я смотрел, ссылки на ФАК - не было;
2) даже сейчас - на первой странице слово MySQL отсутствует.
Если уж показываешь, как составлять запрос - составляй его так, чтобы первая же ссылка (или хотя бы одна из первой тройки) без перехода, только по цитате, зримо давала уверенность, что решение найдено.


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

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


 




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


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

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