在下面的数据示例中,我实时拥有相同的场景。
p1 A(True)
p1 B
p1 C
p2 B(True)
p2 C
在5行以上,有两个唯一值p1,p2.
我希望结果符合以下条件
**预期输出:
p1 A
p2 B**
我通过长时间的查询找到了这个,有人能告诉更多优化方法吗?
答案 0 :(得分:0)
它可以作为预期的输出
select unique_value,output
from unique_data
where
case
when output ='A' Then 1
else output ='B'
end
group by unique_value
答案 1 :(得分:0)
您可以使用以下查询:
SELECT t.id,
MIN(t.val)
FROM TEST_TABLE t
GROUP BY id
HAVING MIN(val) IN ('A', 'B');
表格数据:
id val
-------
p1 A
p1 B
p1 C
p2 B
p2 C
p3 C
p3 D
结果:
id val
-------
p1 A
p2 B