# 查询销售总额前三的理财产品

# 查询购买了所有畅销理财产品的客户

# 相关知识

为了完成本关任务,你需要掌握:
嵌套查询;
子查询。

# 编程要求

请用一条 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
    )

一方面要求出所有的畅销理财产品,一方面要求出一个客户购买的所有理财产品编号

那怎么判断两者的相等呢?判断数量相等即可?

因为在资产表中有一个商品数量,那么同一客户,同一理财产品编号不会在理财产品表中出现两次。