首页 文章

集合中的下一个上一个项目

提问于
浏览
0

我正在努力解决这个问题,但没有走得太远 . 如果有人能提供帮助就会很棒 .

基本上我需要从表中的所有项目中获取上一个和下一个项目 . 如果它是我需要循环到第一个项目的最后一项 . 如果是第一个项目,则前一个项目需要是最后一个项目 . 否则这些项目需要增加和减少一个 . 我需要一些方法在一个查询中添加这个,所以它们是相同的顺序,或在我的应用程序中识别,我可以看到哪个是前一个,哪个是下一个按钮 . 到目前为止这是MySQL,但不正确 . 我使用的是22083,因为这是表格中的最后一项 .

SELECT id, alias_title from image 
where ( 
         id = IFNULL((select min(id) from image where id > 22083), (select min(id) from image)) 
         or id = IFNULL((select max(id) from image where id < 22083),(select min(id) from image))
      )

1 回答

  • 0

    考虑这个例子 . 为简单起见,它依赖于 i 被索引的事实,但更强大的方法可能会强加一些正确的排序......

    SELECT * FROM ints;
    +---+
    | i |
    +---+
    | 0 |
    | 1 |
    | 2 |
    | 3 |
    | 4 |
    | 5 |
    | 6 |
    | 7 |
    | 8 |
    | 9 |
    +---+
    
    SELECT * FROM ints WHERE i >=5 UNION SELECT * FROM ints;
    +---+
    | i |
    +---+
    | 5 |
    | 6 |
    | 7 |
    | 8 |
    | 9 |
    | 0 |
    | 1 |
    | 2 |
    | 3 |
    | 4 |
    +---+
    

相关问题