# 查询销售总额前三的理财产品
# 查询购买了所有畅销理财产品的客户
# 相关知识
为了完成本关任务,你需要掌握:
嵌套查询;
子查询。
# 编程要求
请用一条 SQL 语句完成以下查询任务:
若定义持有人数超过 2 的理财产品称为畅销理财产品。查询购买了所有畅销理财产品的客户编号 (pro_c_id)。
注意结果输出要求:按照客户编号的升序排列,且去除重复结果。
-- 根据客户分组, | |
select | |
pro_c_id | |
from | |
property | |
where | |
pro_type = 1 | |
group by | |
pro_c_id | |
having | |
count(*) >= all( | |
select | |
count(*) | |
from property | |
where | |
pro_type = 1 | |
group by | |
pro_pif_id | |
having count(*) > 1 | |
) |
一方面要求出所有的畅销理财产品,一方面要求出一个客户购买的所有理财产品编号
那怎么判断两者的相等呢?判断数量相等即可?
因为在资产表中有一个商品数量,那么同一客户,同一理财产品编号不会在理财产品表中出现两次。