gpt4 book ai didi

MySQL UNION 语句选择两个具有特定值的列并选择另外两个具有另一个特定值的列

转载 作者:太空宇宙 更新时间:2023-11-03 11:40:04 25 4
gpt4 key购买 nike

我在 S/O 上搜索过这个问题,但没有找到任何内容。我想要做的是两次选择包含一个值的两行加上包含另一个值的两行。喜欢:

Row1: val:1
Row1: val:1
Row2: val:20
Row3: val:20

我想到的是:

SELECT * FROM breakfast WHERE valueforunit = '1' LIMIT 2 
UNION ALL
SELECT * FROM breakfast WHERE valueforunit = '20' LIMIT 2

但是会抛出一个异常

LIMIT clause should come after UNION ALL not before

但我希望它准确地返回具有第一个值的两行和具有第二个值的两行。我也希望选择是随机的。喜欢:

SELECT * FROM breakfast WHERE valueforunit = '1' ORDER BY RAND() LIMIT 2 
UNION ALL
SELECT * FROM breakfast WHERE valueforunit = '20'ORDER BY RAND() LIMIT 2

有什么想法吗?

最佳答案

UNION 的两部分包裹在括号中:

(SELECT * FROM breakfast WHERE valueforunit = '1' ORDER BY RAND() LIMIT 2)
UNION ALL
(SELECT * FROM breakfast WHERE valueforunit = '20' ORDER BY RAND() LIMIT 2)

关于MySQL UNION 语句选择两个具有特定值的列并选择另外两个具有另一个特定值的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42546038/

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