gpt4 book ai didi

mysql - 如果存在则获取下一个问题,如果不存在则返回到开头 - mysql

转载 作者:行者123 更新时间:2023-11-29 09:25:14 25 4
gpt4 key购买 nike

我有关于不同类别的问题,关于数学、关于英语的问题......

我的表格问题:

  `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`cat_id` int(11) UNSIGNED NOT NULL,
`question` text NOT NULL,
KEY `ids` (`id`, `cat_id`),
FOREIGN KEY (`cat_id`) REFERENCES categories (`id`),
PRIMARY KEY (`id`)

例如,用户正在回答有关数学的问题 (cat_id = 1),他的问题是 id 3(第一个)。当他点击NEXT时,我将问题ID传递给mysql以获取下一个:

SELECT id, question FROM questions where cat_id = 1 and id > 3 limit 1

通过此选择,我得到下一个数学问题(id 5)。但如果这是最后一道数学题,我想回到第一个问题(例如没有 id > 6,则转到 id = 3):

1 - 3(english) - can or may?
2 - 2(history) - Who Discovered America?
3 - 1(math) - 1+1 = ?
4 - 3(english) - can or could?
5- 1(math) - 2+2 = ?
6 - 1(math) - 3+3 = ?
7 - 2(history) - When Was the War of 1812?

如果之后没有新的问题可供选择,我该如何返回某个类别的第一个问题呢?我想在问题中创建无限循环。

最佳答案

此查询应该有效:

select id, question from (
SELECT id, question FROM questions where cat_id = 1 and id > 3 order by id limit 1
UNION
SELECT id, question FROM questions where cat_id = 1 order by id limit 1
) limit 1

选择一条 id 大于您的 id 的记录,并且是第一个记录。因此,如果你得到的 id 大于你的 id,你应该得到第一个

关于mysql - 如果存在则获取下一个问题,如果不存在则返回到开头 - mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59712580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com