【Leetcode】高频SQL基础题–1045.买下所有产品的客户
要求:编写解决方案,报告 Customer 表中购买了 Product 表中所有产品的客户的 id。
返回结果表 无顺序要求 。
解题思路:
1、子查询 (SELECT COUNT(*) FROM Product) 计算Product表中的总产品数量。
2、GROUP BY customer_id 按客户分组,统计每个客户的购买记录。
3、COUNT(DISTINCT product_key) 计算每个客户购买的唯一产品数量(去重 重复购买)。
4、最后HAVING 子句过滤出那些购买唯一产品数量等于总产品数量的客户。
代码:
# Write your MySQL query statement below
SELECT
customer_id
FROM
Customer
GROUP BY
customer_id
HAVING
COUNT(DISTINCT product_key) = (SELECT COUNT(*) FROM Product);

1263

被折叠的 条评论
为什么被折叠?



