SELECT * FROM TableName WHERE name='test'
一旦执行了上述查询,我希望获得上一个和下一个id值。当然,他们不会是增量式的。我如何根据where条件获取下一个和以前的id。获取mysql的查询的前一个和下一个id值
SELECT * FROM TableName WHERE name='test'
一旦执行了上述查询,我希望获得上一个和下一个id值。当然,他们不会是增量式的。我如何根据where条件获取下一个和以前的id。获取mysql的查询的前一个和下一个id值
试试下面
select * from Tablename where name = 'test' AND id = (select min(id) from Tablename where id > 4) OR id = (select max(id) from Tablename where id < 4)
我相信你可以使用mysql_data_seek()如果你正在使用PHP
SELECT
*
FROM
TableName
WHERE
id = (SELECT MIN(id) FROM TableName where id > 2)
AND id = (SELECT MAX(id) FROM TableName where id < 2)
OR可以使用Limit
SELECT * FROM TableName WHERE `id` > 2 ORDER BY `id` ASC LIMIT 1
UNION
SELECT * FROM TableName WHERE `id` < 2 ORDER BY `id` DESC LIMIT 1
“Next”和“Previous”按什么排序/键? – 2013-03-04 09:46:13
可能重复的[MYSQL:查询获取上一个和下一个视频ID?](http://stackoverflow.com/questions/1081851/mysql-query-to-get-previous-and-next-video-id) – h2ooooooo 2013-03-04 09:46:20
@ Pekka웃by where = name。没有desc/asc命令。 – X10nD 2013-03-04 09:47:35