|
|
|
|
|
для: cheops
(05.11.2004 в 21:14)
| | хорошо, я сделаю дополнительный запрос, узнаю, сколько у меня записей в таблице и возьму 4 с конца (поначалу там может быть и меньше 4-х записей). спасибочки. :) | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(05.11.2004 в 16:09)
| | Ну в любом случае, MySQL не сканирует таблицы, а хранит число записей в таблице, поэтому дополнительный запрос будет выполняться очень быстро. | |
|
|
|
|
|
|
|
для: elenaki
(05.11.2004 в 15:48)
| | Да... вложенная таким образом агрегатная функция может и не работать. | |
|
|
|
|
|
|
|
для: cheops
(05.11.2004 в 15:36)
| | SELECT * FROM banner_main WHERE pos = 'top' ORDER BY banner_ord DESC LIMIT COUNT(*)-4,3 failed!
You have an error in your SQL syntax near 'COUNT(*)-4,3' at line 1 | |
|
|
|
|
|
|
|
для: elenaki
(05.11.2004 в 15:30)
| | Функция count() должна в любой части запроса работать
$query = "SELECT * FROM banner_main WHERE pos = 'top' ORDER BY banner_ord DESC LIMIT COUNT(*)-4,3";
|
| |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(05.11.2004 в 15:10)
| | а можно узнать количество строк в базе, не делая дополнительный запрос? | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(05.11.2004 в 15:08)
| | Точнее:
LIMIT [количество строк-4], [количество строк]
|
| |
|
|
|
|
|
|
|
для: cheops
(05.11.2004 в 14:57)
| | Так а id (я так понял) используется для сортировки чтобы вывести 4 последних значения.
О как можно! Придумал.
Ставьте не LIMIT 0,3 , а LIMIT [количество строк], [количество строк -4]
Тогда Ваша сортировка ORDER BY будет работать именно для сортировки. Т.е. ORDER BY banner_ord | |
|
|
|
|
|
|
|
для: cheops
(05.11.2004 в 14:57)
| | по id я сортирую, потому что мне нужно 4 послeдних баннера. т.к. id=autoincrement, то по DESC id мне выберутся 4 последних. если можно как-то по-другому выбирать четыре баннера с наибольшими id, то потом, конечно, можно сортировать по banner_ord.... | |
|
|
|
|
|
|
|
для: elenaki
(05.11.2004 в 13:48)
| | Да, хитрый запрос.
Вам фактически нужно 2 раза сортировать. Первый раз для выборки и второй только для, собственно, сортировки.
Учитывая, что в третьей версии MySQL подзапросов еще нет, то... наверное одним запросом это не сделать. А сортировать уже выборку. Хорошо что она хоть не большая - всего 4 позиции. | |
|
|
|
|