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

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)

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

相关文章:

你感兴趣的文章:

标签云: