Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выбор последних X записей, в прямом порядке 
:(
    Опции темы
Syned
Дата 26.5.2006, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 7.7.2005

Репутация: нет
Всего: 1



как сформулировать такой запрос?

...LIMIT X, X не подходит

Спасибо заранее! 
--------------------
Поссы в сугроб почувствуй себя лазером!
PM MAIL ICQ   Вверх
Kesh
Дата 26.5.2006, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



Syned, попробуй отрицательные числа в LIMIT smile 


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
Syned
Дата 26.5.2006, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 7.7.2005

Репутация: нет
Всего: 1



не получается 

Код

mysql> SELECT * FROM postwall ORDER BY postw_id ASC LIMIT -10;


Цитата
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near '-10'
  

Это сообщение отредактировал(а) Syned - 26.5.2006, 21:43
--------------------
Поссы в сугроб почувствуй себя лазером!
PM MAIL ICQ   Вверх
skyboy
Дата 26.5.2006, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



могу предложить изврат:
Код

SELECT (select max(postw_id) from postwall) - postw_id,postw_id FROM postwall order by 1 limit 10

Естевтсенно, это может работать довольно долго. Потому вместо работы с функцией максимального значения можно обратиться к таблице в information_schema(не помню, какую таблицу), в которой хранится текущее значение автоинкрементного ключа для нужной тебе таблицы.
з.ы. Это и в самом деле изврат:
- если ты имеешь в виду MySQL Server  у хостера, то у тебя вполне не может быть прав на доступ к информационной схеме
- в любом варианте, такой подход будет работать неспешно.
Вывод - надо делать что-то другое... Может, изменить структуру... 
@22.16
Ааа.. 
Код

SELECT * FROM postwall ORDER BY postw_id DESC LIMIT 10
 
Ушёл вешаться smile 

Это сообщение отредактировал(а) skyboy - 26.5.2006, 22:18
PM MAIL   Вверх
Ignat
Дата 29.5.2006, 08:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 21
Всего: 73



Цитата(skyboy @  26.5.2006,  23:15 Найти цитируемый пост)
Ааа.. 
Выделить всёкод SQL
1:
    
SELECT * FROM postwall ORDER BY postw_id DESC LIMIT 10


ИМХО, единственно правильное решение.


Syned, а в чем вообще проблема?  


--------------------
Теперь при чем :P
PM   Вверх
Syned
Дата 12.7.2006, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 7.7.2005

Репутация: нет
Всего: 1



Ignat, в том, что в этом случае записи выводятся с конца вверх, а надо наоборот 
--------------------
Поссы в сугроб почувствуй себя лазером!
PM MAIL ICQ   Вверх
Ignat
Дата 13.7.2006, 09:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 21
Всего: 73



Цитата(Syned @  12.7.2006,  20:23 Найти цитируемый пост)
Ignat, в том, что в этом случае записи выводятся с конца вверх, а надо наоборот  

Ну тогда так:

Код

SELECT * FROM (SELECT * FROM postwall ORDER BY postw_id DESC LIMIT 10) AS `temp_postwall` ORDER BY postw_id;


Ессесно * поменять на имена полей.
Вообще лучше выбрать в обратном порядке, а реверснуть массив уже на клиенте. 


--------------------
Теперь при чем :P
PM   Вверх
Gold Dragon
Дата 13.7.2006, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



Syned, а действительно.. ты же всё равно будешь окончательную выборку делать каким-нибудь циклом, можно смело пустить цикл в обратном порядке и не мудрить smile 


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0728 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.