文章目录

  • 1. 题目
  • 2. 解题

1. 题目

朋友关系列表: Friendship

+---------------+---------+
| Column Name   | Type    |
+---------------+---------+
| user1_id      | int     |
| user2_id      | int     |
+---------------+---------+
这张表的主键是 (user1_id, user2_id)。
这张表的每一行代表着 user1_id 和 user2_id 之间存在着朋友关系。

喜欢列表: Likes

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| user_id     | int     |
| page_id     | int     |
+-------------+---------+
这张表的主键是 (user_id, page_id)。
这张表的每一行代表着 user_id 喜欢 page_id。

写一段 SQL 向user_id = 1 的用户,推荐其朋友们喜欢的页面。
不要推荐该用户已经喜欢的页面。

你返回的结果中不应当包含重复项。

返回结果的格式如下例所示:

Friendship table:
+----------+----------+
| user1_id | user2_id |
+----------+----------+
| 1        | 2        |
| 1        | 3        |
| 1        | 4        |
| 2        | 3        |
| 2        | 4        |
| 2        | 5        |
| 6        | 1        |
+----------+----------+Likes table:
+---------+---------+
| user_id | page_id |
+---------+---------+
| 1       | 88      |
| 2       | 23      |
| 3       | 24      |
| 4       | 56      |
| 5       | 11      |
| 6       | 33      |
| 2       | 77      |
| 3       | 77      |
| 6       | 88      |
+---------+---------+Result table:
+------------------+
| recommended_page |
+------------------+
| 23               |
| 24               |
| 56               |
| 33               |
| 77               |
+------------------+
用户1 同 用户2, 3, 4, 6 是朋友关系。
推荐页面为: 页面23 来自于 用户2,
页面24 来自于 用户3,
页面56 来自于 用户3
以及 页面33 来自于 用户6。
页面77 同时被 用户2 和 用户3 推荐。
页面88 没有被推荐,因为 用户1 已经喜欢了它。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/page-recommendations
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 先找出所有 1 的好友
  • 然后选出好友的页面,并且页面不在 1 的里面
# Write your MySQL query statement below
select distinct page_id recommended_page
from Likes
where user_id in((select user2_idfrom Friendshipwhere user1_id = 1) union(select user1_idfrom Friendshipwhere user2_id = 1))
and page_id not in(select page_idfrom Likeswhere user_id = 1)

我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode MySQL 1264. 页面推荐(union)相关推荐

  1. Leetcode力扣 MySQL数据库 1264 页面推荐

    1264 页面推荐 SQL架构 Create table If Not Exists Friendship_1264 (user1_id int, user2_id int); Create tabl ...

  2. LeetCode MySQL解题目录

    已完成的 LeetCode MySQL 数据库题目.点击查看我的 LeetCode 算法解题目录. 已解决 123/123 - 简单 54 中等 51 困难 18 前置入门学习 MySQL 基本查询. ...

  3. mysql 页面跳转_Springboot+MyBatis+mysql+jsp页面跳转详细示例

    SpringBoot与MyBatis搭建环境,底层数据库为mysql,页面使用JSP(官网上不推荐使用jsp),完成从数据库中查询出数据,在jsp页面中显示,并且实现页面的跳转功能. 项目下载链接: ...

  4. 基于Python + Django + mysql的协同推荐算法的电影推荐系统

    基于Python + Django + mysql的协同推荐算法的电影推荐系统 本系统一共分为前台系统功能和后台系统功能两个模块,两个模块之间虽然在表面上是相互独立的,但是在对数据库的访问上是紧密相连 ...

  5. Python+Django+Mysql开发在线购物推荐网 协同过滤推荐算法在购物网站中的运用 个性化推荐算法开发 基于用户、物品的协同过滤推荐算法 机器学习、分布式大数据、人工智能开发

    Python+Django+Mysql开发在线购物推荐网 协同过滤推荐算法在购物网站中的运用 个性化推荐算法开发 基于用户.物品的协同过滤推荐算法 机器学习.分布式大数据.人工智能开发 ShopRec ...

  6. 在线电影推荐网 Python+Django+Mysql 协同过滤推荐算法在电影网站中的运用 基于用户、物品的协同过滤推荐算法 开发在线电影推荐系统 电影网站推荐系统 人工智能、大数据、机器学习开发

    在线电影推荐网 Python+Django+Mysql 协同过滤推荐算法在电影网站中的运用 基于用户.物品的协同过滤推荐算法 开发在线电影推荐系统 电影网站推荐系统 人工智能.大数据.机器学习开发 M ...

  7. LeetCode MySQL 1308. 不同性别每日分数总计(累加/变量/窗口函数)

    文章目录 1. 题目 2. 解题 1. 题目 表: Scores +---------------+---------+ | Column Name | Type | +--------------- ...

  8. LeetCode MySQL 1205. 每月交易II(union all)*

    文章目录 1. 题目 2. 解题 1. 题目 Transactions 记录表 +----------------+---------+ | Column Name | Type | +------- ...

  9. LeetCode MySQL 602. 好友申请 II :谁有最多的好友(union all)

    文章目录 1. 题目 2. 解题 1. 题目 在 Facebook 或者 Twitter 这样的社交应用中,人们经常会发好友申请也会收到其他人的好友申请. 表 request_accepted 存储了 ...

最新文章

  1. BAT“上山下乡”,用AI“打入政府”
  2. GitHub 致歉:请再爱我们一次!
  3. c语言的变量,常量及作用域等
  4. 网易2019实习生Java编程题
  5. java方法参数类型不确定_一个Java方法能有多少个参数类型?这个好奇coder做了个实验...
  6. C++ 迭代器失效问题
  7. java查询数据库数据放到Excel下载
  8. warning: refname ‘HEAD‘ is ambiguous解决方法
  9. VSphere服务器ESXI4.1.0设置虚拟主机来电开机自启动
  10. C# dataGridView控件 获取整行宽度 整列高度 设置某列宽度 设置某行高度
  11. SpringBoot + Vue 简单实现学生饭卡管理系统
  12. Xenu Link Sleuth
  13. 论文翻译:2022_Time-Frequency Attention for Monaural Speech Enhancement
  14. 小米无线路由器服务器用户名和密码忘了,小米路由器密码忘记了怎么办 小米路由器密码忘记解决办法【详解】...
  15. typora中的图片加载不出来
  16. android 7原生动态壁纸,手机里都是定制OS?谷歌Android 7.0原生系统壁纸邀你来尝鲜!...
  17. MPU6050 6轴姿态传感器的分析与使用(一)
  18. vmware走主机代理
  19. Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
  20. bootstrap插件summernote 的使用

热门文章

  1. python中的文件操作
  2. redis配置主从没效果_跟我一起学Redis之加个哨兵让主从复制更加高可用
  3. wireshark 十六进制过滤_CTF流量分析之wireshark使用
  4. 大小端模式的快速判断方法
  5. 制作已编译的html帮助文件
  6. continue break
  7. win10下如何安装vb6.0sp6_Mac如何安装win10系统?Parallels Desktop 15 Mac安装win10系统教程...
  8. All-In-One Code Framework [一站式示例代码库] 【转】
  9. Android中的IPC机制
  10. Android中使用Thread线程出现的问题