我有一个名为faq_questions的表,其结构如下:
id int not_null auto_increment, question varchar(255), sort_order int
我正在尝试构建一个给定排序顺序的查询,选择具有下一个最高排序顺序的行.
例:
id question sort_order 1 'This is question 1' 10 2 'This is question 2' 9 3 'This is another' 8 4 'This is another one' 5 5 'This is yet another' 4
好吧,所以想象一下我传入5表示已知的排序顺序(id 4),我需要它返回id为3的行.由于不能保证sort_order是连续的,所以我不能只选择known_sort_order + 1.
谢谢!
看起来太简单了,但它看起来像你需要的:
SELECT id,question FROM `questions` WHERE `sort_order` > sort_order_variable ORDER BY sort_order ASC LIMIT 1