Выбрать записи с порядковыми номерами типа 1,2,4,10

  • Автор темы Автор темы Kelkos
  • Дата начала Дата начала

Kelkos

Сам себе программер
Выбрать записи с порядковыми номерами типа 1,2,4,10

Собственно сабж. даже незнаю, возможно ли это?
LIMIT вроде только с дипазонами поможет типа 1-20.
Существует ли решение кроме как для получения каждой записи делать отдельный запрос?
 
Re: Выбрать записи с порядковыми номерами типа 1,2,4,10

Автор оригинала: Kelkos
Собственно сабж. даже незнаю, возможно ли это?
LIMIT вроде только с дипазонами поможет типа 1-20.
Существует ли решение кроме как для получения каждой записи делать отдельный запрос?
select * from table where id in (2,4,10) не поможет?
 
неа.. нужно не id а именно порядковые номера.
 
Автор оригинала: Kelkos
неа.. нужно не id а именно порядковые номера.
тогда в первом запросе получаешь только id записи, по потом по необходимости тягаешь запросами то, что нужно
 
Kelkos, а что такой "порядковый номер"??
да вообщем то номер по порядку записей. т.е. я не имею ввиду какое то поле.. просто порядковый номер записи от 0 до n.
ну например когда задаёшь LIMIT 0,10 то имеешь ввиду, что вернуть записи с нулевой (первой т.е.) до десятой.
 
а зачем это надо?
да долго рассказывать.. есть некий алгоритм который вичисляет номера нужных записей исходя из общего количества. записей много и поэтому чтобы не тягать всю эту шнягу ради нескольких записей нужно какое то решение.
 
скорее всего алгоритм неверный
он должен формирвать список нужный id, по которым потом одним запросом можно достать данные
 
скорее всего алгоритм неверный
хех.. оригинально..
судя по всему нет алгоритма токой выборки. ну да ладно. Есть идея id сделать не autouncrement и выстраивать список по порядку записей при изменении базы.
в БД НЕТУ никакого порядкового номера записи.
знаю.. знаю.. я просто немного неудачно объяснил, но думаю все поняли.
 
это неправильная идея

-~{}~ 26.09.05 11:57:

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

Объясняй с самого начала - что за таблица, зачем, какие поля, какие записи, для чего.
 
это неправильная идея
к сажелению ничего другого на ум не приходит.
(я понимаю, можно и не id сделать таим полем.. id - это святое ).

-~{}~ 26.09.05 12:08:

объяснил неудачно.
никто ничего не понял.
особенно после хрестоматийного пассажа про выстраивать записи.
ох.

Вот для примера.. чтобы из запроса типа:
select * from table order by name LIMIT 0,10
т.е. мы получаем только 10 записей начиная с первой полученной.

а вот мне нужно из например такого же запроса получить только первую, вторую и пятую запись. Я уж даже незнаю как ещё подробнее разъяснить.
 
Kelkos, это тебе пытаются разъяснить:
ТЫ НЕ ДОЛЖЕН ЭТОГО ХОТЕТЬ
Это не исходная задача - а ее неправильное решение.
Начни с самого начала...
 
ТЫ НЕ ДОЛЖЕН ЭТОГО ХОТЕТЬ
хех. повторяю.. есть алгоритм вычисляющий порядковые номера исходя из общего количества... это, к сожалению не обойти.
----------------------------------------------
ладно. я всё понял. пойду убъю себя об стену.
 
есть алгоритм вычисляющий порядковые номера
порядковые номера чего?
как они соотносятся с данными в БД?

записывай порядковый номер для каждой позиции в базу, потом выбирай по своим номерам...
 
Panchous
отстань от человека.
пойду убъю себя об стену.
имеет право.
хоть об стену, хоть в омут.

главное, что ценнейший интеллектуальный потенциал форума не используется для решения кривых задач.

Не хочет проблему описывать - его право.
Лишь бы не приставал со своим толкованием.
 
Kelkos
если сильно надо
Код:
(select * from table order by name LIMIT 1,1)
UNION
(select * from table order by name LIMIT 2,1)
UNION
(select * from table order by name LIMIT 4,1)
UNION
(select * from table order by name LIMIT 10,1)
 
да не. пасиб. выход нашёл немного другой: создал поле которое сортируется по порядку (не auto_increment). После чего можно запросто выбирать записи с помощью in. Есть, конечно, неудобства.. нужно изменять на -1 порядковые номера от удаляемой записи до конечной.
 
Сверху