Я пытаюсь получить 10 последних записей из таблицы и в конце упорядоченного по возрастанию, так что последняя/последняя запись является последней, которую я вижу.
Это мой запрос:
SELECT 'title', 'content', 'message_id'
FROM 'a_message_table'
WHERE 'some-id' = 126
AND ('user_init_id' = 30 OR 'user_follow_id' = 30)
ORDER BY 'message_id' DESC
LIMIT 0, 10
Как предлагается ответить на этот вопрос: выберите последний 20-й порядок по возрастанию - PHP/MySQL
Я попытался изменить свой запрос следующим образом:
(SELECT 'title', 'content', 'message_id'
FROM 'a_message_table'
WHERE 'some-id' = 126
AND ('user_init_id' = 30 OR 'user_follow_id' = 30)
ORDER BY 'message_id' DESC
LIMIT 0, 10)
ORDER BY 'message_id' ASC
1.) Поместите запрос в скобки
2.) добавьте строку ORDER BY message_id
ASC
Mysql сообщает о следующих ошибках:
Я использую mysql 5.7, mariaDB.
Кто-то может здесь поддержать, чтобы найти эффективный способ получить последние десять записей таблицы, упорядоченной так, чтобы последняя запись была последней.
Это для системы обмена сообщениями, и я хочу, чтобы пользователь получил последнюю запись, когда он прокручивается вниз. Когда он прокручивается, он должен получить следующие десять записей, заказанных таким образом. Вот почему я использую LIMIT 0,10, позже он говорит LIMIT 10, 10 и так далее...
Использовать этот:
Select * from
(SELECT 'title', 'content', 'message_id'
FROM 'a_message_table'
WHERE 'some-id' = 126
AND ('user_init_id' = 30 OR 'user_follow_id' = 30)
ORDER BY 'message_id' DESC
LIMIT 0, 10) t
ORDER BY 't'.'message_id' ASC
SELECT title, content, message_id FROM a_message_table WHERE some-id = 126 AND (user_init_id = 30 OR user_follow_id = 30) ORDER BY message_id DESC LIMIT 0, 10
работает, вышеуказанный будет работать.