我有可以有两种类型的orderid,我需要选择只有一种存在的不同orderid。
数据如下:
orderid 1 type 1
orderid 1 type 2
orderid 2 type 1
orderid 2 type 1
我想选择只存在类型1的orderid。
我试过了:
select distinct orderid from orders where type=1 and type<>2
这将返回orderid 1和2
答案 0 :(得分:2)
您可以使用except
执行此操作。
select orderid from orders where type = 1
except
select orderid from orders where type <> 1
答案 1 :(得分:2)
您可以使用group by
:
select orderid
from orders
group by orderid
having min(type) = 1 and max(type) = 1;
不需要distinct
。 orderid
只返回一次。