Задать вопрос
@kiberchainik
начинающий найкрутейшЫй програмЁр

Как выбрать из mysql последние 25 записей?

никак не могу разобраться как вывести 25 последних записей из базы данных.
Делаю так:
SELECT 
    users.login,
    user_date.name,
    user_date.lastname,
    user_date.company_name,
    user_date.company_link,
    user_date.user_img,
    message_in_the_chat.id,
    message_in_the_chat.from_user_id,
    message_in_the_chat.to_user_id,
    message_in_the_chat.message,
    message_in_the_chat.read_status,
    DATE_FORMAT(message_in_the_chat.write_data, "%d.%m.%Y %H:%i") as msg_data
FROM message_in_the_chat 
LEFT JOIN users ON users.id = message_in_the_chat.from_user_id
LEFT JOIN user_date ON users.id = user_date.user_id
WHERE (message_in_the_chat.from_user_id = 1 AND message_in_the_chat.to_user_id =30)
	OR (message_in_the_chat.to_user_id = 1 AND message_in_the_chat.from_user_id =30) 
ORDER BY `write_data`  DESC LIMIT 25

т.о. я имею 25 последних записей но они идут от последней записи и вверх (не знаю если понятно выразился), но сортировка должна идти наоборот, т.е. по дате написания сообщения, т.е. от 25ой записи (снизу таблицы) и до конца! но не понимаю как это сделать.
  • Вопрос задан
  • 77 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
ThunderCat
@ThunderCat Куратор тега MySQL
{PHP, MySql, HTML, JS, CSS} developer
SELECT  * FROM( 
   SELECT  
       message_in_the_chat.write_data write_data,
       users.login,
......
ORDER BY `write_data`  DESC LIMIT 25
)  sub
ORDER BY sub.write_data  ASC
Ответ написан
coderisimo
@coderisimo
попробуйте, например, вот так :

select * from ( здесь ваш старый запрос) t order by t.write_data
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@kiberchainik Автор вопроса
начинающий найкрутейшЫй програмЁр
господа, спасибо огромное, все сработало!
Только отсюда второй вопрос, как можно этот запрос улучшить, потому что я выполнил его для выборки из таблицы где 750 строк и по времени вышло 0,0161 сек. но если будет строк например 2000 будет уже долгодумие, как можно этот запрос модернизировать?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы