gpt4 book ai didi

MySQL 查询查找相等的匹配项

转载 作者:行者123 更新时间:2023-11-29 20:16:54 25 4
gpt4 key购买 nike

我有以下名为“MyTable”的 MySQL 表

ID--- a --- b
10---20---42
11---20---43
12---20---44
13---21---44
14---20---45
14---22---44
14---22---43
14---24---45
14---22---42

我正在尝试编写一个查询来获取以下结果。例子。

SELECT b FROM mytable WHERE a=(20, 21, 22)

这会返回 44,因为它是唯一常见的数字。

SELECT b FROM mytable WHERE a=(20, 22) AND b is the same

这会返回 42 和 43,因为两者都匹配

SELECT b FROM mytable WHERE a=(22, 24) AND b is the same

这不会返回任何内容,因为 a 列中的数字之间的 b 值不同。

感谢您的帮助

(我猜找到了答案)

	
select b
from MyTable
group by b
having sum(a = 20) > 0 and // -- has id = 20
sum(a = 21) > 0 // -- has id = 21

最佳答案

对于像这样的查询,您想通过一组缩小范围,您可以通过以下两种方式之一进行操作:

SELECT b FROM mytable WHERE a=20 OR a=21 OR a=22

或者简单的方法,使用 IN 关键字:

SELECT b FROM mytable WHERE a IN (20, 21, 22)

对于您的查询“SELECT b FROM mytable WHERE a=(20, 22) AND b is the same”,您仍然可以使用相同的想法,但请执行以下操作:

SELECT b FROM mytable WHERE a IN(20, 22) AND b=a

关于MySQL 查询查找相等的匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39707304/

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