我有一个由ID,NAME,PRICE和DATE列组成的表。
我尝试编写寻呼机式导航,因为表格中有很多条目,因此查看整个SELECT的输出已经变得不舒服。
我已写下以下请求:
SELECT id
, name
, price
, date
FROM mytable
ORDER
BY name asc
LIMIT 30 OFFSET _here's_my_offset_depending_on_the_current_position_
这只在示例中正常工作。当我尝试按价格对它进行排序时,似乎MYSQL首先使用ORDER BY对整个表进行排序,并且只有在它产生偏移之后才会进行排序。
如何更改此行为,换句话说,如何创建偏移量,而不是按照我喜欢的方式对结果行进行排序?
答案 0 :(得分:2)
如果你使用子查询,它可以很容易:
SELECT * FROM (
SELECT id, name, price, date FROM mytable LIMIT 30 OFFSET _offset_
) AS page ORDER BY page.name asc