作者musie (Sirius)
看板Database
标题Re: [SQL ] 有没有办法做到这样的排序
时间Fri Oct 14 15:42:41 2011
※ 引述《knives ()》之铭言:
: 我的DBMS是Mysql
: 我有一个相簿Table是 长这样 picid 、pic_href
: 如果我想做轮播的话,假设我有五张图 p1、p2、...、p5
: 假设我现在点到p3 的话,那下一张就是p4、上一张就是p2
: 如果是点到p1的话,那上一张就是p5,反之p5的下一张就是p1
: 因为我希望一次照顺序列出来放在阵列供js使用
: 不必说要等到按下按钮再来抓下一张是谁
: 这样的话,阵列的顺序就要一次决定
: 我原本是想说执行三次sql
: SELECT * FROM pic WHERE picid<'目前的picid'
: SELECT * FROM pic WHERE picid='目前的picid'
: SELECT * FROM pic WHERE picid>'目前的picid'
: 再丢到阵列上,可是这样要执行三次sql,不知道有没有方法做一次就好了
: 谢谢回答
在没有碰到边界的情况下
SELECT * FROM pic WHERE picid = 'givenID'
OR picid = 'givenID-1' OR picid = 'givenID+1' ;
有碰到边界的状况无解,不过也才两个例外而已。
SQL没办法知道是不是最後一笔...所以就请先SELECT MAX 和 MIN出来检查。
--
※ 发信站 :批踢踢实业坊(ptt.cc)
◆ From: 122.146.228.192
※ 编辑: musie 来自: 122.146.228.192 (10/14 15:42)