我尝试从表中获取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
正如这个问题的答案所建议: Select last 20 order by ascending - 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。
有人可以在这里支持,找到一种有效的方法来获取最新的10个条目,以便最新条目是最后一个。
它适用于消息传递系统,我希望用户在向下滚动时获取最新条目。当他向上滚动时,他应该像这样订购下十个条目。这就是为什么我使用LIMIT 0,10,后来它说LIMIT 10,10等等......
答案 0 :(得分:1)
使用此:
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