gpt4 book ai didi

mysql - 将 LIMIT 与 UNION 结合使用时 MariaDB 的奇怪行为

转载 作者:行者123 更新时间:2023-11-28 23:16:07 25 4
gpt4 key购买 nike

SELECT `foo` 
FROM `table`
WHERE `bar` = 'def'
LIMIT 1500;

... 为条件 (def) 返回 1500 行。

(SELECT `foo` 
FROM `table`
WHERE `bar` = 'abc'
LIMIT 1000)
UNION
(SELECT `foo`
FROM `table`
WHERE `bar` = 'def'
LIMIT 1500)

...返回 2498 行,第二个条件 (def) 为 1498。

因此,正如您从第一个查询的输出中看到的那样,条件“def”肯定有足够的记录来返回 1500 行。然而,当与 UNION 结合使用时,针对该条件返回的记录太少。

有没有人指导我追踪这种行为?

最佳答案

可以减少行数,因为 UNION 仅选择不同的结果..但是您可以使用 UNION ALL 获取所有结果形式,既包括选择也包括具有相同值的行

(SELECT `foo` 
FROM `table`
WHERE `bar` = 'abc'
LIMIT 1000)
UNION ALL
(SELECT `foo`
FROM `table`
WHERE `bar` = 'def'
LIMIT 1500)

关于mysql - 将 LIMIT 与 UNION 结合使用时 MariaDB 的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43798219/

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