@Sleebu
PHP, JS, Web, Python, C++

Как взять из MySql колонки из конца (!) таблицы, с лимитом 30, и рассортировать их в по увеличению id(34,35,36)?

Значит, у меня есть БД, в которой храняться сообщения. Выглядит она примерно так:
+--------------+
|id|name|text|
----------------
|1|Артур |123|
|2|Миша |312| и т. д.
+--------------+

Мне надо чтобы он получил колонки с конца (62,61,60...) с лимитом 30, и рассортировал их в обратном порядке. Должно Выйти так:

+---------------+
|id|name|text|
-----------------
|32|Артур|123|
|33|Миша|312|
|34|Женя |123|
|35|Саша |312|
|36|Анна |123|
|37|Валя |312| и так до 62-ух (максимального значения)
+---------------+

Возможно ли это сделать с помощью jQuery, PHP, или JS, и как?
Если что-то где-то непонятно - пишите, уточню.
Буду благодарен)
  • Вопрос задан
  • 458 просмотров
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
Взять выборку и обернуть во второй select с обратной сортировкой.
select fields,... from (
select fields,... from tablename order by field desc limit 30
) as subquery
order by field limit 30


Впрочем, если подумать:
(
select fields,... from tablename order by field desc limit 30
)
order by field limit 30

mysql умеет
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
Доработаем вариант Melkij чтобы было меньше писанины
select * from (
select fields,... from tablename order by field desc limit 30
) as subquery
order by field
Ответ написан
Комментировать
ShelestovAnt
@ShelestovAnt
Верстаю и программирую
Можно попробовать сортировку возложить на mysql, типа:
SELECT * FROM (
     SELECT * FROM `some_table`
          ORDER BY `id` DESC
          LIMIT 30
) as t
ORDER BY `t`.`id` ASC
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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