gpt4 book ai didi

mysql - 在 mysql 上组合 4 个 SELECT 查询

转载 作者:可可西里 更新时间:2023-11-01 07:27:31 26 4
gpt4 key购买 nike

我正在尝试组合这 3 个 mysql 语句。我一直在使用 UNION 和 JOIN 关键字,但它没有提供我想要的输出。有什么建议么?这是我的 3 个声明。

SELECT * FROM entrancequestion
WHERE Subject='Abstract Reasoning'
ORDER BY RAND()
LIMIT 10

SELECT * FROM entrancequestion
WHERE Subject='English'
ORDER BY RAND()
LIMIT 30

SELECT * FROM entrancequestion
WHERE Subject='Mathematics'
ORDER BY RAND()
LIMIT 30

SELECT * FROM entrancequestion
WHERE Subject='Science'
ORDER BY RAND()
LIMIT 30

我尝试像这样组合前 2 个语句:

SELECT * FROM entrancequestion
WHERE Subject='Abstract Reasoning'
LIMIT 10
UNION
SELECT * FROM entrancequestion
WHERE Subject='English'
ORDER BY RAND()
LIMIT 30;

但是它只读取第二个 LIMIT 查询,其中 t 只输出 30 行。

我想创建一个查询,其中总共显示 100 行并根据索引随机显示。非常感谢您的帮助。

最佳答案

引用docs ,

要将 ORDER BY 或 LIMIT 应用于单个 SELECT,请将子句放在包含 SELECT 的括号内:

(SELECT * FROM entrancequestion
WHERE Subject='Abstract Reasoning'
ORDER BY RAND()
LIMIT 10)

UNION

(SELECT * FROM entrancequestion
WHERE Subject='English'
ORDER BY RAND()
LIMIT 30)

UNION

(SELECT * FROM entrancequestion
WHERE Subject='Mathematics'
ORDER BY RAND()
LIMIT 30)

UNION

(SELECT * FROM entrancequestion
WHERE Subject='Science'
ORDER BY RAND()
LIMIT 30 )

关于mysql - 在 mysql 上组合 4 个 SELECT 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22251925/

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