0
点赞
收藏
分享

微信扫一扫

LeetCode(数据库)- 销售分析 II


题目链接:​​点击打开链接​​

题目大意:略。

解题思路:注意:COUNT(NULL) = 0、COUNT(非NULL) = 1。

AC 代码

-- 解决方案(1)
SELECT S.buyer_id
FROM Sales S JOIN Product P
ON S.product_id = P.product_id
GROUP BY S.buyer_id
HAVING COUNT(IF(P.product_name = 'S8',TRUE, NULL)) >= 1 AND COUNT(IF(P.product_name = 'iPhone',TRUE, NULL)) = 0

-- 解决方案(2)
SELECT DISTINCT RS1.buyer_id
FROM (SELECT buyer_id
FROM Sales s JOIN Product p ON s.product_id = p.product_id
WHERE product_name = 'S8') RS1 LEFT JOIN
(SELECT buyer_id
FROM Sales s JOIN Product p ON s.product_id = p.product_id
WHERE product_name = 'iPhone') RS2 ON RS1.buyer_id = RS2.buyer_id
WHERE RS2.buyer_id IS NULL


举报

相关推荐

0 条评论