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

Kelkos

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

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

440hz

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

Автор оригинала: Kelkos
Собственно сабж. даже незнаю, возможно ли это?
LIMIT вроде только с дипазонами поможет типа 1-20.
Существует ли решение кроме как для получения каждой записи делать отдельный запрос?
select * from table where id in (2,4,10) не поможет?
 

Kelkos

Сам себе программер
неа.. нужно не id а именно порядковые номера.
 

440hz

php.ru
Автор оригинала: Kelkos
неа.. нужно не id а именно порядковые номера.
тогда в первом запросе получаешь только id записи, по потом по необходимости тягаешь запросами то, что нужно
 

Kelkos

Сам себе программер
Kelkos, а что такой "порядковый номер"??
да вообщем то номер по порядку записей. т.е. я не имею ввиду какое то поле.. просто порядковый номер записи от 0 до n.
ну например когда задаёшь LIMIT 0,10 то имеешь ввиду, что вернуть записи с нулевой (первой т.е.) до десятой.
 

Kelkos

Сам себе программер
а зачем это надо?
да долго рассказывать.. есть некий алгоритм который вичисляет номера нужных записей исходя из общего количества. записей много и поэтому чтобы не тягать всю эту шнягу ради нескольких записей нужно какое то решение.
 

Panchous

Павел
скорее всего алгоритм неверный
он должен формирвать список нужный id, по которым потом одним запросом можно достать данные
 

Kelkos

Сам себе программер
скорее всего алгоритм неверный
хех.. оригинально..
судя по всему нет алгоритма токой выборки. ну да ладно. Есть идея id сделать не autouncrement и выстраивать список по порядку записей при изменении базы.
в БД НЕТУ никакого порядкового номера записи.
знаю.. знаю.. я просто немного неудачно объяснил, но думаю все поняли.
 

Фанат

oncle terrible
Команда форума
это неправильная идея

-~{}~ 26.09.05 11:57:

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

Объясняй с самого начала - что за таблица, зачем, какие поля, какие записи, для чего.
 

Kelkos

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

-~{}~ 26.09.05 12:08:

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

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

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

Panchous

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

Kelkos

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

Panchous

Павел
есть алгоритм вычисляющий порядковые номера
порядковые номера чего?
как они соотносятся с данными в БД?

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

Фанат

oncle terrible
Команда форума
Panchous
отстань от человека.
пойду убъю себя об стену.
имеет право.
хоть об стену, хоть в омут.

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

Не хочет проблему описывать - его право.
Лишь бы не приставал со своим толкованием.
 

chira

Новичок
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)
 

Kelkos

Сам себе программер
да не. пасиб. выход нашёл немного другой: создал поле которое сортируется по порядку (не auto_increment). После чего можно запросто выбирать записи с помощью in. Есть, конечно, неудобства.. нужно изменять на -1 порядковые номера от удаляемой записи до конечной.
 
Сверху