@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, а потом уже нужный мне запрос? Мне кажется, так не делается.

Подскажите, ткните в доки. Спасибо.
  • Вопрос задан
  • 2617 просмотров
Решения вопроса 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


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

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

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