我有一个mysql查询:
SELECT `name` FROM `table1` WHERE id='0' ORDER BY `id` DESC LIMIT 5
这没关系,它让我得到了最后5个元素,表中最后一个元素是返回数组中的第一个元素。确定。
但是!我试图以正常的表顺序获取最后5个(因此主表中的最后一个将是返回数组中的数字5,之前的那个将是4等。)
我试过ASC,它没用......
我该怎么做?
答案 0 :(得分:4)
将您的查询设为subquery:
SELECT `name`
FROM (SELECT `id`, `name` FROM `table1` WHERE id='0' ORDER BY `id` DESC LIMIT 5) tmp
ORDER BY `id` ASC
答案 1 :(得分:3)
试试这个
select `name`
from (
select `id`, `name`
from `table1`
where id='0'
order by `id` desc
limit 5
) as source
order by `id` asc
答案 2 :(得分:0)
为简单起见:使用dot I.e table1.name,例如
$query = "SELECT * FROM `users` ORDER BY `users`.`date_of_rsvp` DESC";
我认为这应该有用。