【头歌系统数据库实验】实验10 SQL互联网业务查询-1

目录

第1关:查找购买个数超过20,重量小于50的商品,按照商品id升序排序

第2关:查询向follow表中user_id = 1 的用户,推荐其关注的人喜欢的音乐

第3关:查询向follow表中user_id用户,推荐其关注的人喜欢的音乐

第4关:查询用户日活数及支付金额

第5关:查询各工程号最大的按零件号合计供应量以及该零件号,并先按工程号升序,再按零件号升序排序。


如果对你有帮助的话,不妨点赞收藏评论一下吧,爱你么么哒😘❤️❤️❤️

第1关:查找购买个数超过20,重量小于50的商品,按照商品id升序排序

描述 如下有一张商品表(goods),字段依次为:商品id、商品名、商品质量

还有一张交易表(trans),字段依次为:交易id、商品id、这个商品购买个数

查找购买个数超过20,重量小于50的商品,按照商品id升序排序,如:

USE mygoods;
########## Begin ##########
select goods.id,sum(count) as total
from goods,trans
where goods.weight<50 and goods.id=trans.id
group by goods.id
having total>20
order by goods.id;
########## End ##########

第2关:查询向follow表中user_id = 1 的用户,推荐其关注的人喜欢的音乐

任务描述

假设音乐数据库里面现在有几张如下简化的数据表: 关注follow表,第一列是关注人的id,第二列是被关注人的id,这2列的id组成主键

这张表的第一行代表着用户id为1的关注着id为2的用户

这张表的第二行代表着用户id为1的关注着id为4的用户

这张表的第三行代表着用户id为2的关注着id为3的用户

个人的喜欢的音乐music_likes表,第一列是用户id,第二列是喜欢的音乐id,这2列的id组成主键

这张表的第一行代表着用户id为1的喜欢music_id为17的音乐 ....

这张表的第五行代表着用户id为4的喜欢music_id为17的音乐

音乐music表,第一列是音乐id,第二列是音乐name,id是主键

请你编写一个MYSQL,查询向user_id = 1 的用户,推荐其关注的人喜欢的音乐。不要推荐该用户已经喜欢的音乐,并且按music的music_name升序排列。你返回的结果中不应当包含重复项 上面的查询结果如下:

USE mymusic;
########## Begin ##########
select distinct m1.music_name
from follow f1 
right join music_likes ml1 on f1.follower_id=ml1.user_id
right join music m1 on m1.id=ml1.music_id
where f1.user_id=1 and music_name not in (
    select m2.music_name
    from music_likes ml2
    right join music m2 on ml2.music_id=m2.id
    where ml2.user_id=1
)
order by m1.music_name;

########## End ##########

第3关:查询向follow表中user_id用户,推荐其关注的人喜欢的音乐

任务描述

假设音乐数据库里面现在有几张如下简化的数据表: 关注follow表,第一列是关注人的id,第二列是被关注人的id,这2列的id组成主键

这张表的第一行代表着用户id为1的关注着id为2的用户

这张表的第二行代表着用户id为1的关注着id为4的用户

这张表的第三行代表着用户id为2的关注着id为3的用户

个人的喜欢的音乐music_likes表,第一列是用户id,第二列是喜欢的音乐id,这2列的id组成主键

这张表的第一行代表着用户id为1的喜欢music_id为17的音乐 ....

这张表的第五行代表着用户id为4的喜欢music_id为17的音乐

音乐music表,第一列是音乐id,第二列是音乐name,id是主键

请你编写一个MYSQL,查询向follow表中user_id用户,推荐其关注的人喜欢的音乐。不要推荐该用户已经喜欢的音乐,并且先按follow的user_id升序排列,再按music的music_name升序排列。你返回的结果中不应当包含重复项

上面的查询结果如下:

user_id music_name

1 kong

1 MOM

2 Sold Out

USE mymusic;
########## Begin ##########
SELECT DISTINCT follow.user_id,music_name
FROM follow ,music_likes,music  
WHERE follow.follower_id=music_likes.user_id 
AND music.id=music_likes.music_id and follow.user_id
AND music_id NOT IN(
    SELECT music_id
    FROM music_likes m
    WHERE m.user_id=follow.user_id
)
ORDER BY user_id,music_name;

########## End ##########

第4关:查询用户日活数及支付金额

现有3张业务表,详见如下:

,

需要输出结果如下,没有支付的日期不需要显示,请写出对应的MYSQL

,

USE myusers;
########## Begin ##########
SELECT A.dt,
    COUNT(DISTINCT A.user_id) AS dau,
    SUM(B.is_new) AS dau_new,
    SUM(C.pay_money) AS total_pay,
    SUM(IF(B.is_new=1,C.pay_money,NULL)) AS total_pay_new
FROM(
    SELECT DISTINCT user_id,dt
    FROM login_record)A
LEFT JOIN new_user AS B ON A.user_id=B.user_id
LEFT JOIN user_pay AS C ON C.user_id=A.user_id AND C.dt=A.dt

GROUP BY A.dt
HAVING SUM(C.pay_money) IS NOT NULL
 
########## End ##########

第5关:查询各工程号最大的按零件号合计供应量以及该零件号,并先按工程号升序,再按零件号升序排序。

任务描述

查询各工程号最大的按零件号合计供应量以及该零件号,并先按工程号升序,再按零件号升序排序。

相关知识

供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,标识某供应商 供应某种零件 给某工程项目的数量为QTY。 SPJ表如下图:

,

现已构建SPJ表,结构信息如下:

,


开始你的任务吧,祝你成功!

USE mydata;
#请在此处添加实现代码
########## Begin ##########
create view calculate(JNO,PNO,maxsum) as 
select JNO,PNO,sum(QTY)
from SPJ
group by JNO,PNO
order by JNO,PNO;
select JNO,PNO,maxsum
from calculate as x
where x.maxsum>=all(
    select maxsum 
    from calculate as y
    where x.JNO=y.JNO
);
########## End ##########

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MinGW编译Python至pyd踩坑整理

title: MinGW编译Python至pyd踩坑整理 tags: [Python,CC] categories: [开发记录,Python] date: 2023-12-12 13:48:20 description: sidebar: [‘toc’, ‘related’,‘recent’] 注意需要魔法 用scoop自动安装配置MinGw 需要魔法&#xff0c;不需要手动配置mingw scoop in…

WPF使用WebBrowser报脚本错误问题处理

前言 WPF使用WebBrowser报脚本错误问题处理,我们都知道WPF自带的WebBrowser都用的IE内核,但是在特殊的条件下我们还需要用到它,比如展示纯html简单的页面。再展示主流页面的时候比如用到Jquery高级库或者VUE等当前主流站点时经常就会报JS脚本错误,在Winform里面我们一句代…

(十六)Flask之蓝图

蓝图 Flask蓝图&#xff08;Blueprint&#xff09;是Flask框架中用于组织和管理路由、视图函数以及静态文件的一种机制。它提供了一种将应用程序拆分为更小、可重用组件的方式&#xff0c;使得项目结构更清晰&#xff0c;代码更易于维护。 使用Flask蓝图&#xff0c;可以将相…

mysql中NULL值

mysql中NULL值表示“没有值”&#xff0c;它跟空字符串""是不同的 例如&#xff0c;执行下面两个插入记录的语句&#xff1a; insert into test_table (description) values (null); insert into test_table (description) values ();执行以后&#xff0c;查看表的…

VBA_NZ系列工具NZ10:VBA压缩与解压工具

我的教程一共九套及VBA汉英手册一部&#xff0c;分为初级、中级、高级三大部分。是对VBA的系统讲解&#xff0c;从简单的入门&#xff0c;到数据库&#xff0c;到字典&#xff0c;到高级的网抓及类的应用。大家在学习的过程中可能会存在困惑&#xff0c;这么多知识点该如何组织…

外贸开发信标题如何写?推荐的邮件主题行?

提高打开率的外贸开发信标题模板&#xff1f;怎么写好邮件主题&#xff1f; 一封引人注目的外贸开发信可以帮助您吸引潜在客户的注意&#xff0c;打开贸易大门。然而&#xff0c;写一个吸引人的外贸开发信并不容易。蜂邮将探讨如何撰写令人印象深刻的外贸开发信标题&#xff0…

java系列-LinkedHashMap

1.插入新节点时&#xff0c;会将该节点加到链表尾部 public class LinkedHashMap<K,V> extends HashMap<K,V> implements Map<K,V>{/*** The head (eldest) of the doubly linked list.*/transient LinkedHashMapEntry<K,V> head;/*** The tail (young…

第三届iEnglish全国ETP大赛16强落位 诠释教育游戏价值

10日,与北方骤降的温度形成鲜明对比,以“玩转英语,用iEnglish”为主题的国内首个教育游戏活动第三届iEnglish全国ETP(English Through Pictures)大赛总决赛小组赛热火朝天的进行。随着“云帆沧海队”搭上末班车,本届活动16强全部产生,接下来的三个周末他们将向年度总冠军发起最…

vscode 远程连接内网服务器和通过跳板机远程连接外网服务器

1.打开vscode congfig文件&#xff0c;输入相应信息如下图 若本地没有id_rsa文件&#xff0c;可打开cmd进入.ssh目录下输入命令&#xff1a;ssh-keygen&#xff0c;创建该文件&#xff0c;会提示输入该文件保存地址以及设置秘钥密码&#xff08;最好不要设置密码&#xff0c;不…

(2023,大视觉模型 LVM,视觉句子,自回归)序列建模支持大型视觉模型的可扩展学习

Sequential Modeling Enables Scalable Learning for Large Vision Models 公Z号&#xff1a;EDPJ&#xff08;添加 VX&#xff1a;CV_EDPJ 或直接进 Q 交流群&#xff1a;922230617 获取资料&#xff09; 目录 0. 摘要 1. 简介 2. 相关工作 3. 数据 4. 方法 4.1 图像…

如何管理大型网站的抓取预算

优化您的网站&#xff0c;以便 Google 更快地找到您的内容并将您的内容编入索引&#xff0c;这可以帮助您的网站获得更好的知名度和流量。 互联网是一个不断发展的虚拟世界&#xff0c;拥有超过 1 亿个网站。 你认为谷歌可以抓取世界上的每一个网站吗&#xff1f; 即使拥有谷…

优化汽车产业用户营运:精细化策略

近年来随着互联网时代新技术浪潮的冲击&#xff0c;商业社会中各种原生边界不断被打破&#xff0c;新的消费需求、新的商业模式、新的竞争挑战层出不穷。各行业往往面临重重困境与迷思&#xff0c;学会如何精细化运营用户显得尤为重要。立即阅读阅文&#xff0c;详细了解其中用…

系列十、SpringBoot + MyBatis + Redis实现分布式缓存(基于注解方式)

一、概述 上篇文章 系列九、SpringBoot MyBatis Redis实现分布式缓存 介绍了基于xml方式实现分布式缓存的效果&#xff0c;当前大家使用的技术栈基本是springboot各种框架的组合&#xff0c;而springboot显著的一个特点就是去xml配置&#xff0c;那么在无xml配置的情形下&…

LeetCode(55)环形链表【链表】【简单】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 环形链表 1.题目 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评…

【EDA工具-VCS和Verdi的使用_2023.12.9】

芯片开发所需工具环境 Linux/Unix 编辑器Vim/Gvim EDA工具 Makefile 脚本语言Perl/Python 版本控制SVN/GIT 脚本语言Makefile 形式&#xff08;由一系列的规则组成&#xff09; 规则的目标&#xff1a;规则的依赖&#xff08;可有可无&#xff09; 规则的命令行&#xff08…

CompletableFuture使用小结

为什么需要CompletableFuture CompletableFuture继承了CompletionStage接口和Future接口&#xff0c;在原有Future的基础上增加了异步回调、流式处理以及任务组合&#xff0c;成为JDK8多任务协同场景下一个有效利器。 CompletableFuture使用示例 提交有返回值的异步任务 通…

【HTML】基于jsQR实现的HTML单页面扫码功能

前言 最近做了一个扫码签到的功能涉及到获取浏览器摄像头并扫码识别的功能。 选择jsQR的原因&#xff1a; html5-qrcode&#xff1a;使用简单&#xff0c;识别率低&#xff0c;二维码小不可解析 zxing/library&#xff1a; 识别率优于html5-qrcode&#xff0c;部分安卓模糊…

Linux系统编程:高级IO总结

非阻塞IO基本概念 高级IO核心就一个概念&#xff1a;非阻塞IO。 与该概念相对的&#xff0c;就是我们之前学习过的阻塞IO。 非阻塞IO&#xff08;Non-blocking I/O&#xff09;是一种IO模型&#xff0c;用于实现异步IO操作&#xff0c;使应用程序能够在等待IO操作完成的同时…

Ubuntu部署EMQX开源版MQTT服务器-Orange Pi部署-服务器部署

一、前言 作为全球最具扩展性的 MQTT 消息服务器&#xff0c;EMQX 提供了高效可靠海量物联网设备连接&#xff0c;能够高性能实时移动与处理消息和事件流数据&#xff0c;本文将介绍如何在Ubuntu 22.04上部署MQTT服务器。我们本次选择开源版&#xff0c;使用离线安装方式部署。…

d2l绘图不显示的问题

之前试了各种方法都不行 在pycharm中还是不行&#xff0c;但是在anaconda中的命令行是可以的 anaconda prompt conda activaye py39 #进入f盘 F: #运行文件 python F:\python_code\softmax.py