SQL 使用HAVING检查组中是否存在多个条件
示例
订单表
要检查同时订购了产品ID2和3的客户,可以使用HAVING
select customerId from orders where productID in (2,3) group by customerId having count(distinct productID) = 2
返回值:
该查询仅选择问题中带有productID的记录,并使用HAVING子句检查具有2个productId而不是一个的组。
另一种可能性是
select customerId
from orders
group by customerId
having sum(case when productID = 2 then 1 else 0 end) > 0
and sum(case when productID = 3 then 1 else 0 end) > 0此查询仅选择具有至少一个产品ID为2的记录和至少一个产品ID为3的记录的组。
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西