我有一张类似下面的表。
id | episode_number
1 55
2 56
3 57-58
4 59
5 60
6 61-62
7 63
8 64
9 65-66
10 67-68
我的目标是,每当选择某一集时。我想返回接下来的5个结果。可以说,如果选择了episode_number 60,我想返回接下来的5个结果
id | episode_number
6 61-62
7 63
8 64
9 65-66
10 67-68
我通过以下声明实现了这一点,一切都很有效。
$query = $PDO -> prepare("SELECT * FROM table
WHERE `table`.episode_number > :episode
ORDER BY (`table`.episode_number + 0)
LIMIT 5");
$query->bindValue(':episode', 60, PDO::PARAM_INT);
但是如果选择的剧集不是INT但实际上是STR呢?如61-62,我将如何返回它的下5个结果?
答案 0 :(得分:0)
如果我正确理解了问题,当你有一个字符串时,你就会在“下一个”列表中获得该值,而不是“下一个”值。如果这是问题,这有两种方法可以解决它:
SELECT *
FROM table
WHERE `table`.episode_number + 0 > :episode
ORDER BY (`table`.episode_number + 0)
LIMIT 5;
或:
SELECT *
FROM table
WHERE `table`.episode_number >= :episode
ORDER BY (`table`.episode_number + 0)
LIMIT 5 OFFSET 1;