那个啥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有没牛人??下面是测试表SQLCREATE 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);
/

解决方案 »

  1.   

    下一条:
    SELECT * FROM `Test` where id<>6 and orderby <= (select orderby from test where id=6) order by orderby desc, id desc limit 0,1上一条:
    SELECT * FROM `Test` where id<>6 and orderby >= (select orderby from test where id=6) order by orderby asc, id desc limit 0,1行了啊
      

  2.   

    修正:如查询语句:SELECT * FROM `Test` order by orderby desc,id desc
    上一条:
    SELECT * FROM `Test` where id<>6 and orderby >= (select orderby from test where id=6) order by orderby asc, id asc limit 0,1
      

  3.   

    不行啊. 忘记 orderby 有相等.比如 都是0 的情况了
      

  4.   

    (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)
      

  5.   

    上一条:SELECT * FROM `Test` where id<>6 and (if(
    orderby = (select orderby from test where id=6),
    id>6, 
    orderby > (select orderby from test where id=6)
    )
    ) order by orderby asc, id asc limit 0,1
    下一条:
    SELECT * FROM `Test` where id<>6 and (if(
    orderby = (select orderby from test where id=6),
    id<6, 
    orderby < (select orderby from test where id=6)
    )
    ) order by orderby desc, id desc limit 0,1
      

  6.   


    不要发 id 大于小于 <> 这种了吧. 没含量啊
    我上面发的已经解决了
      

  7.   

    mysql  用某种字段排序的时候    当字段有重复内容时   重复的内容并不是按照主键排的