Mysql 使用LIMIT和ORDER BY col ASC获取最后X行
此查询用于检索某些消息,它将检索所有消息:Mysql 使用LIMIT和ORDER BY col ASC获取最后X行,mysql,sql-order-by,limit,Mysql,Sql Order By,Limit,此查询用于检索某些消息,它将检索所有消息: $q = " SELECT * FROM pms WHERE ( (id_to = $id and id_from = ".sesion().") OR (id_from = $id and id_to = ".sesion().") ) AND (id > $from) ORDER by f
$q = "
SELECT *
FROM pms
WHERE
(
(id_to = $id and id_from = ".sesion().")
OR
(id_from = $id and id_to = ".sesion().")
)
AND (id > $from)
ORDER by fecha ASC";
问题是我想得到最后50个元素,但我认为使用DESC排序是唯一可行的
我怎么做
我是否需要先计算行数,然后才能使用
LIMIT$many-$ipp$many
?或者有没有方法反转结果顺序?只需将查询设为子查询:
SELECT * FROM
(
SELECT *
FROM pms
WHERE
(
(id_to = $id AND id_from = ".sesion().")
OR (id_from = $id and id_to = ".sesion().")
)
AND id > $from
ORDER BY fecha DESC
LIMIT 50
) q1
ORDER BY fecha ASC