@ruslite

Как осуществить вывод последних данных, не desc?

Привет. Мне надо вывести из таблицы последние 10 записей, но не так:

$query = "SELECT * FROM  message WHERE  canal='smile' ORDER BY id DESC LIMIT 10";


Так вытаскивает в обратном порядке но сверху вниз выводит. А надо так:

$query = "SELECT * FROM  message WHERE  canal='smile0' ORDER BY id ASC LIMIT ".$begin.", 10";


В переменной begin надо узнать, получается, последний id в таблице, но как? mysql_insert_id это при добавлении, но как быть мне? Делать два запроса, что ли, - в первом узнаю последний id и присваиваю его к переменной begin, а потом уже нужный мне запрос? Мне кажется, так не делается.

Подскажите, ткните в доки. Спасибо.
  • Вопрос задан
  • 2616 просмотров
Решения вопроса 2
egor_nullptr
@egor_nullptr
Получите выборку первым запросом, а потом отсортируйте в коде функцией usort.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
egor_nullptr
@egor_nullptr
А ещё можно вот так:
SELECT * FROM (
    SELECT * FROM  message WHERE  canal='smile' ORDER BY id DESC LIMIT 10
) AS t ORDER BY id ASC;
Ответ написан
SELECT * FROM  message WHERE  canal='smile0' ORDER BY id ASC LIMIT ( select max(id) from message ), 10


это?
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽