Большой Воронежский Форум
» Веб-дизайн>MYSQL_QUERY ...мозК отключился...
AlexanderSergeev 19:40 13.05.2011
Вобщем снова я туплю)) как мне кажется. Однако ситуацию разрешить никак не могу сам..

Вобщем у меня база данных mysql, каждое поле содержит:

ID,NAME,PARAM

Так вот, мне нужно выбрать все поля в конкретным PARAM, пишу WHERE PARAM=...

Все норм.

А как мне из этой выборки выбрать поле ПО СЧЕТУ?

P.S.заранее известна переменная, рандомная, например 5. И мне нужно из всех выбранных по param записей , выбрать пятую по счету.
Как быть? [Ответ]
Yandex 20:13 13.05.2011
psihOZ, как быть? Выучить теорию реляционных баз данных. Один из моментов, которой гласит, что все записи представляют неупорядоченное множество и следовательно нет 5-ой строки.

Ты явно что-то не то хочешь. Для работы с объектом используй не номер строки, а его id. Для этого он и был собственно заведен. [Ответ]
alemiks 20:32 13.05.2011
psihOZ, а открыть в гугле первую ссылку по запросу "mysql row number" пробовал?) [Ответ]
AlexanderSergeev 21:09 13.05.2011
alemiks, погуглил..безуспешно как-то..

select @rownum:=@rownum+1 ‘rank’, p.* from player p, (SELECT @rownum:=0) r order by score desc limit 10;

как мне это запилить под мой вариант??..

P.S. сначала хотел просто все записи загнать в цикле в массив, а затем выбрать конкретный элемент из него. Ну а если несколько тысяч элементов, долго будет думать. вот и решил, что должен быть попроще вариант. [Ответ]
olexus 22:03 13.05.2011
если ID инкрементальный уникальный счетчик то может быть как-то так:
select * from (select top @rownum from table where param=...) where ID=max(ID)
PS с тонкостями синтаксиса mysql не знаком. [Ответ]
Yandex 22:14 13.05.2011
psihOZ, хватит хренью маяться
Код:
select id, name, param where param = ... limit <Нужная строка> - 1, 1
[Ответ]
AlexanderSergeev 22:46 13.05.2011
спасибо всем..попробую.отпишусь. [Ответ]
Вверх