2017-10-08 44 views
-2

这将是MySQL的查询,以便从该列选择下一个值MySQL的列仅选择一个行与最低值

我有一个名为后序与值列1个2 3 4 5 6等 我试图:

SELECT * FROM table WHERE such=such ORDER BY postOrder ASC LIMIT 1 

但有时我拿错行,像4,而不是3 我想我可以取消该限制条款1,但我必须做更多的工作用PHP。

任何想法如何确保我总是得到下一行,而不必得到所有的行,然后用PHP对它们进行排序? 谢谢。

+1

你的问题还不清楚。显示你的表格结构和样本数据以便更好地理解 –

+0

我认为你的问题是重复的:https://stackoverflow.com/questions/5191503/how-to-select-the-last-record-of-a-table-在-SQL –

回答

0

如果我理解正确你的问题,我认为解决的办法是使用OFFSET这样的:

SELECT * FROM table WHERE such=such ORDER BY postOrder ASC LIMIT 1 OFFSET 2; 

随着该偏移,你可以得到正确的值,并做一些分页。

0

您可以获取中的最后一个值与查询,然后将其添加到主要查询条件。像这样:

SELECT * FROM table 
WHERE such = such 
AND postOrder IN (SELECT MAX(postOrder) FROM table)