MySQL高阶1919-兴趣相同的朋友

题目

请写一段SQL查询获取到兴趣相同的朋友。用户 x 和 用户 y 是兴趣相同的朋友,需满足下述条件:

  • 用户 x 和 y 是朋友,并且
  • 用户 x and y 在同一天内听过相同的歌曲,且数量大于等于三首.

结果表 无需排序 。注意:返回的结果需要和源数据表的呈现方式相同 (例如, 需满足 user1_id < user2_id)。

准备数据

Create table If Not Exists Listens (user_id int, song_id int, day date)
Create table If Not Exists Friendship (user1_id int, user2_id int)Truncate table Listensinsert into Listens (user_id, song_id, day) values ('1', '10', '2021-03-15')insert into Listens (user_id, song_id, day) values ('1', '11', '2021-03-15')insert into Listens (user_id, song_id, day) values ('1', '12', '2021-03-15')insert into Listens (user_id, song_id, day) values ('2', '10', '2021-03-15')insert into Listens (user_id, song_id, day) values ('2', '11', '2021-03-15')insert into Listens (user_id, song_id, day) values ('2', '12', '2021-03-15')insert into Listens (user_id, song_id, day) values ('3', '10', '2021-03-15')insert into Listens (user_id, song_id, day) values ('3', '11', '2021-03-15')insert into Listens (user_id, song_id, day) values ('3', '12', '2021-03-15')insert into Listens (user_id, song_id, day) values ('4', '10', '2021-03-15')insert into Listens (user_id, song_id, day) values ('4', '11', '2021-03-15')insert into Listens (user_id, song_id, day) values ('4', '13', '2021-03-15')insert into Listens (user_id, song_id, day) values ('5', '10', '2021-03-16')insert into Listens (user_id, song_id, day) values ('5', '11', '2021-03-16')insert into Listens (user_id, song_id, day) values ('5', '12', '2021-03-16')Truncate table Friendshipinsert into Friendship (user1_id, user2_id) values ('1', '2')insert into Friendship (user1_id, user2_id) values ('2', '4')insert into Friendship (user1_id, user2_id) values ('2', '5')

listens表

friendship表

 

分析数据

select distinct user1_id,user2_id
from Friendship fleft join Listens l1on user1_id=l1.user_idleft join Listens l2on user2_id=l2.user_id
where l1.song_id=l2.song_idand l1.day=l2.day
group by user1_id,user2_id,l1.day
having count(distinct l2.song_id)>=3;

总结

 这道题是找出在friendship表存在的,只需要关联就行.与1917题不同.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/54470.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常见排序(C语言版)

1.排序的概念及其应用 1.1排序的概念 排序&#xff1a;​ 在计算机科学与数学中&#xff0c;一个排序算法&#xff08;英语&#xff1a;Sorting algorithm&#xff09;是一种能将一串资料依照特定排序方式排列的算法。 稳定性&#xff1a;假定在待排序的记录序列中&#xff…

聚观早报 | 小米三折叠手机专利曝光;李斌谈合肥投资蔚来

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 9月20日消息 小米三折叠手机专利曝光 李斌谈合肥投资蔚来 索尼PS5 Pro包装亮相 新一代Spectacles AR眼镜发布 通…

三十种编程语言庆祝【国庆节】!!!

30种编程语言来打印“国庆节快乐”&#xff1a; 分别为&#xff1a; PythonJavaScriptJavaCCC#PHPRubySwiftGoRustKotlinScalaPerlRLuaDartTypeScriptBash (Shell)F#JuliaElixirHaskellGroovyVisual Basic .NETMATLABPowerShellSQLVBA (Visual Basic for Applications)COBOL …

《AI系统:原理与架构》于华为HC大会2024正式发布

2024年9月21日&#xff0c;《AI系统&#xff1a;原理与架构》新书发布会在上海世博馆华为HC大会顺利举办。本书由华为昇腾技术专家、B站AI科普博主ZOMI酱和哈工大软件学院副院长苏统华教授联合编写&#xff0c;是领域内AI系统方面填补空白的重磅之作。 发布会上&#xff0c;《A…

Spring:项目中的统一异常处理和自定义异常

介绍异常的处理方式。在项目中&#xff0c;都会进行自定义异常&#xff0c;并且都是需要配合统一结果返回进行使用。 1.背景引入 &#xff08;1&#xff09;背景介绍 为什么要处理异常&#xff1f;如果不处理项目中的异常信息&#xff0c;前端访问我们后端就是显示访问失败的…

【监控】【Nginx】使用 Zabbix 监控 Nginx,并使用 InfluxDB 存储数据的详细指南

目录 1. 安装 Zabbix Server步骤 1&#xff1a;安装 Zabbix 服务器步骤 2&#xff1a;安装 InfluxDB步骤 3&#xff1a;启动 InfluxDB 服务步骤 4&#xff1a;创建 InfluxDB 数据库步骤 5&#xff1a;配置 Zabbix Server步骤 6&#xff1a;启动 Zabbix 服务 2. 安装 Zabbix Age…

JavaScript发送邮件:实现前端触发的教程?

JavaScript发送邮件的方式&#xff1f;怎么使用JavaScript发信&#xff1f; 无论是用户反馈、联系表单还是自动通知&#xff0c;前端触发的邮件发送功能都能极大地提升用户体验。AokSend将详细介绍如何通过JavaScript发送邮件&#xff0c;实现前端触发的邮件发送功能。 JavaS…

Centos7安装chrome的问题

chrome是129版本的&#xff0c;很新。 启动chrome的时候报错&#xff1a;undefined symbol: ippvalidateattributes 这个没有报libxxx.so not found。 大概就是依赖的so库版本太低了&#xff0c;查了下这个函数在cups 重新拉了最新的代码并编译 ./configure --with-tlsno…

跨站请求伪造(CSRF)漏洞详解

免责申明 本文仅是用于学习检测自己搭建的DVWA靶场环境有关CSRF的原理和攻击实验,请勿用在非法途径上,若将其用于非法目的,所造成的一切后果由您自行承担,产生的一切风险和后果与笔者无关;本文开始前请认真详细学习《‌中华人民共和国网络安全法》‌及其所在国家地区相关法…

ubuntu24安装vivado24(安装并解决若干错误)

目录 安装方法&#xff1a;问题1&#xff1a;解决办法&#xff1a; 问题2&#xff1a;解决方法&#xff1a; 安装完成&#xff1a; 安装方法&#xff1a; 注意&#xff1a;内存最好预留80G空闲的。 安装好大小&#xff1a; 安装依赖库&#xff1a; sudo apt-get update sud…

计算机网络17——IM聊天系统——客户端核心处理类框架搭建

目的 拆开客户端和服务端&#xff0c;使用Qt实现客户端&#xff0c;VS实现服务端 Qt创建项目 Qt文件类型 .pro文件&#xff1a;配置文件&#xff0c;决定了哪些文件参与编译&#xff0c;怎样参与编译 .h .cpp .ui&#xff1a;画图文件 Qt编码方式 Qt使用utf-8作为编码方…

Java 8 和 MyBatis 框架实现每天凌晨 2 点进行增量缓存

以下是使用 Java 8 和 MyBatis 框架实现每天凌晨 2 点进行增量缓存的完整示例代码&#xff1a; Offering 实体类&#xff1a; public class Offering { private String id; private String name; private String size; private String type; // 构造方法、get…

堆栈指针寄存器SP的初值是多少?执行PUSH AX命令后,SP的值是多少?执行POP BX后,SP的值是多少?为什么答案给的是200,202,200。

欢迎来到我的技术博客&#xff01; &#x1f389; 这里不仅有满满的编程干货和学习资源&#xff0c;我的某站账号也为你准备了更多实用的技术视频和知识分享。 &#x1f449; 点击关注我的小破站账号&#xff0c;获取更多编程技巧和学习资源&#xff01; 小破站主页 例题 ST…

鸿蒙 WebView 如何 Debug

前置&#xff1a; hdc chrome //----------------------------------------------------------------------------------------------- hdc shell cat /proc/net/unix | grep devtools 0: 00000002 0 10000 1 1 81134005 webview_devtools_remote_62479exit执行&…

vulnhub(12):bob 1.0.1(gpg文件解密)

端口 nmap主机发现 nmap -sn 192.168.72.0/24 ​ Nmap scan report for 192.168.72.169 Host is up (0.00020s latency). ​ 169是新出现的机器&#xff0c;他就是靶机 nmap端口扫描 nmap -Pn -sV 192.168.72.169 -p- --min-rate 10000 -oA nmap/scan 扫描开放端口保存到 nmap…

STL简介

在了解了C中的类和对象以及内存管理基本的知识后接下来我们将进入STL的学习&#xff0c;在此我们在本篇会先了解STL的由来以及大致了解STL的组成&#xff0c;接下来在之后的篇章中我将依次来学string、vector等&#xff0c;学习完STL之后相信你会进一步了解C的魅力所在。接下来…

后台数据管理系统 - 项目架构设计-Vue3+axios+Element-plus(0917)

七、引入 element-ui 组件库 我的Git仓库&#xff1a;https://gitee.com/msyycn/vue3-hei-ma.git 官方文档&#xff1a; https://element-plus.org/zh-CN/ 安装 $ pnpm add element-plus自动按需&#xff1a; 安装插件 pnpm add -D unplugin-vue-components unplugin-auto…

机器翻译之Bahdanau注意力机制在Seq2Seq中的应用

目录 1.创建 添加了Bahdanau的decoder 2. 训练 3.定义评估函数BLEU 4.预测 5.知识点个人理解 1.创建 添加了Bahdanau的decoder import torch from torch import nn import dltools#定义注意力解码器基类 class AttentionDecoder(dltools.Decoder): #继承dltools.Decoder写…

XML/HTML:深入解析与比较

XML/HTML:深入解析与比较 引言 XML(可扩展标记语言)和HTML(超文本标记语言)是两种广泛应用于网络和文档处理的标记语言。它们在结构和用途上有着显著的区别,但同时也存在着紧密的联系。本文将深入探讨XML和HTML的定义、特点、用途及其相互关系,旨在帮助读者更好地理解…

元学习的简单示例

代码功能 模型结构&#xff1a;SimpleModel是一个简单的两层全连接神经网络。 元学习过程&#xff1a;在maml_train函数中&#xff0c;每个任务由支持集和查询集组成。模型先在支持集上进行训练&#xff0c;然后在查询集上进行评估&#xff0c;更新元模型参数。 任务生成&…