我有一张桌子,里面有项目:
- 标识(整数)
- 排序(整数)
- 内容(字符串)
我的项目页面显示当前项目和接下来三个项目的预览。为了获取接下来的三个项目,我想使用一个干净的 MySQL 查询。当然,如果此人在最后一个项目中,则没有剩下 3 个项目可以展示。
所以它需要再次显示第一个。
基本上我试图结合这两个陈述:
SELECT *
FROM projects
WHERE ordering > {currentProjectOrdering}
ORDER BY ordering ASC
和
SELECT *
FROM projects
WHERE ordering > 0
ORDER BY ordering ASC
并且
LIMIT 0,3
简而言之:获取比当前项目排序更高的接下来三个记录,如果(其中一些)不存在,则从 ordering = 1 开始。
假设有 10 个项目:项目 1 显示 2,3 和 4 项目 2 显示 3,4 和 5 ...项目 9 显示 10、1 和 2