我有一张如下表格,请帮我修建。
示例:
column 1 column 2
111111 100
111111 101
111111 102
222222 101
222222 102
333333 100
所以我正在寻找同一列只有100但不是101或102的column1。
从我上面的例子中,333333 100
正是我正在寻找的,它有100但不是101和102。
答案 0 :(得分:0)
尝试使用not exists
运算符
SELECT *
FROM table t1
WHERE column2 = 100
AND NOT EXISTS (
SELECT * FROM table t2
WHERE t1.column1 = t2.column1
AND t2.column2 in (101, 102)
)
答案 1 :(得分:0)
如果您想要group by
值,可以使用having
和column1
:
select column1
from t
group by column1
having sum(case when column2 = 100 then 1 else 0 end) > 0 and
sum(case when column2 in (101, 102) then 1 else 0 end) = 0;
如果这些是您唯一关注的三个值,则可以将其简化为:
select column1
from t
where column2 in (100, 101, 102)
group by column1
having max(column2) = 100;
答案 2 :(得分:0)
听起来您可能正在尝试进行数据透视查询: