gpt4 book ai didi

php - MySql如何通过过滤多列来限制多个数字?

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

我想从数据库中获得 4 个不同类别的 50 个问题。我想要来自 4 个不同类别的不同数量的问题;我的结果集必须包含第一类 12 个问题、第二类 20 个问题、第三个 10 个问题和第四个类别 8 个问题。我的问题表中总共有 50 个问题。为此,我使用了LIMIT 函数。但是当我有多个列时,我会感到困惑。

这是我的 table :

 | category_id| question-text| Col3 |
|------------|--------------|------|
| 1 | sample | ieb |
| 2 | sample | aem |
| 3 | sample | atd |
| 4 | sample | oui |
| 1 | sample | ieb |
| 2 | sample | aem |
| 3 | sample | atd |
| 4 | sample | oui |
| 1 | sample | ieb |
| 2 | sample | aem |
| 3 | sample | atd |
| 4 | sample | oui |
| 1 | sample | ieb |
| 2 | sample | aem |
| 3 | sample | atd |
| 4 | sample | oui |

我需要这个结果: 第 1 类中的 5 个问题。 第 2 类中的 3 个问题。 第 3 类中的 2 个问题。 第 4 类中的 7 个问题。

最佳答案

您可以使用 UNION立即查询所有问题:

(SELECT * FROM question WHERE categori_id=1 ORDER BY RAND() LIMIT 12)
UNION
(SELECT * FROM question WHERE categori_id=2 ORDER BY RAND() LIMIT 20)
UNION
(SELECT * FROM question WHERE categori_id=3 ORDER BY RAND() LIMIT 10)
UNION
(SELECT * FROM question WHERE categori_id=4 ORDER BY RAND() LIMIT 8)

关于php - MySql如何通过过滤多列来限制多个数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53899437/

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