【每日SQL打卡】​​​​​​​​​​​​​​​DAY 22丨页面推荐【难度中等】​

简介: 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 22丨页面推荐【难度中等】​

正文


难度中等


SQL架构


朋友关系列表: 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 已经喜欢了它。
相关文章
|
7月前
|
SQL 数据挖掘 数据处理
「SQL面试题库」 No_85 页面推荐
「SQL面试题库」 No_85 页面推荐
|
SQL 存储 测试技术
功能测试之"点点点"如何巧妙的获取页面查询sql
检查测试环境的日志中是否会打印查询sql,这个受开发的架构设计以及日志输出级别等配置的影响,查看部署包的日志文件输出到了哪,然后再页面进行相应的操作,同时检查log文件里面是否有打印相关的sql。
功能测试之"点点点"如何巧妙的获取页面查询sql
|
SQL Java
java类过滤器,防止页面SQL注入
package com.tarena.dingdang.filter; import java.io.IOException; import java.util.Enumeration; import javax.
1547 0
|
SQL 存储 Go
SQL Server 使用全文索引进行页面搜索
原文:SQL Server 使用全文索引进行页面搜索 标签:SQL SERVER/MSSQL SERVER/数据库/DBA/全文索引 概述   全文引擎使用全文索引中的信息来编译可快速搜索表中的特定词或词组的全文查询。
1239 0
|
SQL 移动开发 JavaScript
防止SQL注入的登录页面
防止SQL注入的登录页面    function Mycheck(str){      var mess="不允许输入的字符:\r\n";      var mark="yes";      if(str.
745 0
|
SQL
SQL——处理页面多条件查询
             以前处理多条件查询,主要是两种方法,第一种是在条件里面判断要填入条件的字段,然后判断传入参数是否为空,如果为空,就用1=1替代这个条件;第二种方法,先判断传入参数是否为空,如果不为空,将条件拼接到一个字符里面,最后再使用exec执行字符串;最近又要做这个东西,感觉还是挺熟悉的,额,,其实是挺无聊的。
965 0
|
3月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")