【问题标题】:Select field 1 Where Field 2 ='value1' And field 2 ='value2' when Field 1 is Same选择字段 1 Where Field 2 ='value1' And field 2 ='value2' when Field 1 is Same
【发布时间】:2020-12-05 00:27:37
【问题描述】:

我目前无法过滤我的 SQL 记录。我需要类似它导致以下概念的东西:表是

A B
1 1
1 3
2 1
2 2
2 3
2 4
3 1
3 2

我想选择 A 的值,其中 B=1 和 B=2 和 B=3 当相同的 A .... 结果是

一个
2

请帮忙

【问题讨论】:

    标签: sql select count having-clause


    【解决方案1】:

    你可以使用聚合:

    select a
    from mytable
    where b in (1, 2, 3)
    group by a
    having count(*) = 3
    

    这假定表中没有重复项 - 否则,您需要将 having 子句更改为:

    having count(distinct b) = 3
    

    【讨论】:

    • 谢谢,但是当表有三组记录(A,B 具有相同的值)时,结果不正确。如果存在三次相同的记录,例如 A = 4 ,B=1,则不成功。帮助
    • @PLAAHemantha 。 . .答案是COUNT(DISTINCT)。你应该接受答案。
    猜你喜欢
    • 2015-05-07
    • 2011-02-24
    • 2020-12-16
    • 1970-01-01
    • 1970-01-01
    • 2011-01-21
    • 1970-01-01
    • 2021-02-28
    • 1970-01-01
    相关资源
    最近更新 更多