gpt4 book ai didi

MySQL 查询连接列并按数字限制每列

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

MySQL查询

SELECT A FROM data WHERE A LIKE '%$term%'
|| B LIKE '%$term%' LIMIT 5
UNION SELECT D FROM data WHERE D LIKE '%$term%'
|| E LIKE '%$term%' LIMIT 5

在此,我想显示 A 列的数据,当它与 A 列或 B 列的数据字段匹配时,将此数字限制为 5 + 当我的 D 列与 D 列或 E 列的数据字段匹配时,限制此数字5 点

但实际上它只显示 5 行而不是 10 行。知道我错在哪里吗?请帮忙

最佳答案

您可以将每个单独的查询(包括 LIMIT 子句)包装在括号中。这允许将 LIMIT 子句应用于每个单独的查询。

例如:

( SELECT A  FROM data
WHERE A LIKE '%$term%' || B LIKE '%$term%'
LIMIT 5
)
UNION ALL
( SELECT D FROM data
WHERE D LIKE '%$term%' || E LIKE '%$term%'
LIMIT 5
)

(与原始查询相比的唯一变化是在每个 SELECT 周围添加了括号,并使用 UNION ALL 代替 UNION。如果我们需要识别并删除重复行,我们使用 UNION 运算符,否则,我们使用 UNION ALL

如果您需要按特定顺序排列结果集,请在语句末尾添加一个 ORDER BY 子句,位于最后一个右括号之后。

关于MySQL 查询连接列并按数字限制每列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25256235/

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