|
|
|
| Добрый день, кто в курсе, скажите пожалуйста, возможно ли составить такой запрос что-бы ..
Есть таблица, а из нее нужно вывести определенное количество записей id которых больше указанного.
например:
$id = 20;
// количество записей которое нужно выбрать
$count = 15;
$query = mysql_query("SELECT * FROM table WHERE id > $id ORDER BY id ASC LIMIT $count");
|
Вобщем, проблема собственно в том, что если у нас всего 100 записей и $id = 95, то запрос возвратит 5 строк, с ID от 96го до 100, а мне нужно составить запрос таким образом, что-бы если количество возвращаемых строк меньше $count то выбрать еще( $count - колличество выбраных), но сначала.. то есть с ID от 1 до 10.
Что-то мне подсказывает что нужно использовать CASE .. А может и нет :)
Можно ли сделать такую выборку одним запросом ? | |
|
|
|
|
|
|
|
для: mastergrom
(01.03.2009 в 18:50)
| | если у Вас в таблице 100 записей, то вовсе не факт, что их id равны числам от 1 до 100 | |
|
|
|
|
|
|
|
для: Trianon
(01.03.2009 в 19:00)
| | Ну это понятно, факт в том, что пускай там хоть 20 записей с разными ID в диапазоне от 1го до 100
Мне нужно выбрать 15 записей, ID которых больше указаного. Если запрос возвращает с первого раза колличество строк меньше указанного $count, то нужно выбрать недостающее кол-во записей, с начала таблицы (сортировка у нас по id ASC), в случае если записей меньше чем $count, то не вывоводить только строку ID которой равен указанному $id
Одним запросом, можно или нет ? | |
|
|
|
|
|
|
|
для: mastergrom
(01.03.2009 в 19:07)
| | нет. Одним - нет. | |
|
|
|