首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

mysql真正读上一条下一条的SQL有没有?解决思路

2012-04-12 
mysql真正读上一条下一条的SQL有没有???那个啥ID之类的请别发这条经测错误跟啥 id 之类的结果没区别.

mysql真正读上一条下一条的SQL有没有???
那个啥ID<>之类的请别发

这条经测错误跟啥 id <> 之类的结果没区别.都不对
SELECT * FROM Test WHERE ID IN (SELECT CASE WHEN SIGN(ID - 3) > 0 THEN MIN(ID) WHEN SIGN(ID - 3) < 0 THEN MAX(ID) END AS ID FROM test WHERE ID <> 3 GROUP BY SIGN(ID - 3) ORDER BY SIGN(ID - 3)) ORDER BY ID ASC; 





如查询语句:SELECT * FROM `Test` order by orderby desc
结果:
id orderby  
3 51 
1 24 
4 11 
7 6 
6 3 //////////////
2 2 
5 1 

id=6 的
上一条应该是id=7
下一条应该是id=2





有没牛人??

下面是测试表SQL

CREATE TABLE IF NOT EXISTS `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `orderby` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;

INSERT INTO `Test` (`id`, `orderby`) VALUES
(1, 24),
(2, 2),
(3, 51),
(4, 11),
(5, 1),
(6, 3),
(7, 6);










/





[解决办法]
(SELECT * FROM `Test` where id > 6 order by orderby limit 1)
union all
(SELECT * FROM `Test` where id < 6 order by orderby desc limit 1)

热点排行