LeetCode(数据库)- 兴趣相同的朋友

简介: LeetCode(数据库)- 兴趣相同的朋友

题目链接:点击打开链接

题目大意:略。

解题思路:略。

AC 代码


-- 解决方案(1)
select distinct a.user1_id, a.user2_id
  from Friendship a, Listens b, Listens c
 where a.user1_id = b.user_id
   AND a.user2_id = c.user_id
   AND b.song_id = c.song_id
   AND b.day = c.day
 group by a.user1_id, a.user2_id, b.day
having COUNT(distinct b.song_id) >= 3
-- 解决方案(2)
WITH t AS(SELECT * FROM Listens GROUP BY 1, 2, 3)
SELECT DISTINCT l1.user_id user1_id, l2.user_id user2_id
FROM t l1 JOIN t l2 ON l1.user_id < l2.user_id AND l1.day = l2.day
WHERE (l1.user_id, l2.user_id) IN (SELECT * FROM Friendship)
GROUP BY 1, 2, l1.day
HAVING COUNT(IF(l1.song_id = l2.song_id, 1, NULL)) >= 3
目录
相关文章
|
算法 关系型数据库 MySQL
数据库系列课程(10)-MySQL索引实现原理
数据库系列课程(10)-MySQL索引实现原理
60 0
|
关系型数据库 MySQL 数据库
LeetCode(数据库)- 体育馆的人流量
LeetCode(数据库)- 体育馆的人流量
128 0
LeetCode(数据库)- 体育馆的人流量
|
存储 SQL 大数据
日常数据库练习题(每天进步一点点系列)
日常数据库练习题(每天进步一点点系列)
日常数据库练习题(每天进步一点点系列)
|
数据库
LeetCode(数据库)- 小众书籍
LeetCode(数据库)- 小众书籍
123 0
|
数据库
LeetCode(数据库)- 无效的推文
LeetCode(数据库)- 无效的推文
91 0
|
数据库
LeetCode(数据库)- 按年度列出销售总额
LeetCode(数据库)- 按年度列出销售总额
104 0
|
数据库
LeetCode(数据库)- 寻找面试候选人
LeetCode(数据库)- 寻找面试候选人
127 0
|
数据库
LeetCode(数据库)- 销售员
LeetCode(数据库)- 销售员
60 0
|
数据库
LeetCode(数据库)- 当选者
LeetCode(数据库)- 当选者
98 0
|
数据库
LeetCode(数据库)- 苹果和桔子
LeetCode(数据库)- 苹果和桔子
85 0