gpt4 book ai didi

sql - 选择至少具有一个 where 条件实例的行

转载 作者:行者123 更新时间:2023-11-29 14:26:03 25 4
gpt4 key购买 nike

我是 SQL 新手。我有以下查询选择至少有一个 1 的所有行。

select * from numbers where n1 = '1' OR n2 = '1' 

如何选择至少有一个 1 和一个 2 的行?

例如,如果我的 table 是这样的——

n1 n2
1 1
1 1
1 2
1 1
2 1
2 2

我想要以下输出,因为只有这两行至少有一个 1 和一个 2。

n1 n2
1 2
2 1

我不能执行以下操作,因为这也会选择只有一个和只有两个的行。

select * from numbers where n1 = '1' OR n2 = '1' OR n1 = '2' OR n2 = '2'`

最佳答案

您可以只描述两种可能的组合,例如:

select * 
from numbers
where (n1 = 1 and n2 = 2) or (n1 = 2 and n2 = 1)

假设 12 是唯一可能的值,如示例数据所示,那么这也可行:

where least(n1, n2) = 1 and greatest(n1, n2) = 2

在相同的假设下,更好的是(如 Jonnix 所评论):

where n1 + n2 = 3

关于sql - 选择至少具有一个 where 条件实例的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57779309/

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