Php 如何获取mysql中的前一行
我有疑问:Php 如何获取mysql中的前一行,php,mysql,Php,Mysql,我有疑问: SELECT ID FROM VACANCIES WHERE CATEGORYID = 1 AND VISIBLE = '1' AND user_enable = '1' AND DATA >= '2012-08-10 10:54:46' AND torder >= 0 AND ID > 570153 ORDER BY torder ASC, DATA ASC, ID ASC LIMIT 1 我得到的结果ID为-570164,这是错误的结果:正确的结果是5675
SELECT ID
FROM VACANCIES
WHERE CATEGORYID = 1
AND VISIBLE = '1'
AND user_enable = '1'
AND DATA >= '2012-08-10 10:54:46'
AND torder >= 0
AND ID > 570153
ORDER BY torder ASC, DATA ASC, ID ASC
LIMIT 1
我得到的结果ID为-570164,这是错误的结果:正确的结果是567556
570164 | ROW 1 | 2012-08-10 11:27:39
567556 | ROW 2 | 2012-08-10 10:55:53
570153 | ROW 2 | 2012-08-10 10:54:46
是否有获取上一个id的解决方案?
注意:
我按日期下订单,但日期可以相等,并且上一个id可以小于当前id您的条件说明id必须大于570153
- 570164是返回的结果,它满足该条件
- 567556是您希望的结果,但不满足该条件
SELECT ID
FROM VACANCIES
WHERE CATEGORYID = 1
AND VISIBLE = '1'
AND user_enable = '1'
AND DATA >= '2012-08-10 10:54:46'
AND torder >= 0
AND ID < 570153
ORDER BY torder ASC, DATA ASC, ID DESC
LIMIT 1
选择ID
空缺
其中CATEGORYID=1
和可见='1'
和用户_enable='1'
和数据>='2012-08-10 10:54:46'
和扭矩>=0
ID<570153
订单由torder ASC、数据ASC、ID描述
限制1