【MySQL基础刷题】总结题型(三)

十题左右,便于复习

  • 1.查询结果的质量和占比
  • 2.每月交易I
  • 3.销售分析III
  • 4.只出现一次的最大数字
  • 5.买下所有产品的客户
  • 6.员工的直属部门
  • 7.指定日期的产品价格

1.查询结果的质量和占比

在这里插入图片描述

avg大神啊…

SELECT query_name, 
ROUND(avg(rating / position), 2) as quality, 
ROUND(avg(rating < 3)*100, 2) as poor_query_percentage 
FROM Queries 
WHERE query_name is not null
GROUP BY query_name;

2.每月交易I

在这里插入图片描述
其中DATE_FORMAT是一个日期格式化函数,用于将日期按照指定的格式转换为字符串输出

# Write your MySQL query statement below
selectDATE_FORMAT(trans_date, '%Y-%m') as month,country,count(*) as trans_count,count(case when state = 'approved' then 1 end) as approved_count,sum(amount) as trans_total_amount,sum(case when state = 'approved' then amount else 0 end) as approved_total_amount
fromTransactions
group bydate_format(trans_date, '%y-%m'), country;

其中count(case when state = 'approved' then 1 end),不可以添加else 0,因为count应该只统计非NULL的条目。

3.销售分析III

商品需要只在春季销售!
在这里插入图片描述
2号商品在春季和夏季都销售过,所以不能算

# Write your MySQL query statement below
select p.product_id as product_id, product_name
from Product p join Sales s on p.product_id = s.product_id
group by p.product_id
having sum(case when sale_date between '2019-01-01' and '2019-03-31' then 0 else 1 end) = 0;

4.只出现一次的最大数字

出现频率为1,且只出现一次
这题很简单,放进来主要是学习库函数COALESCE

COALESCE 是一个用于返回第一个非 NULL 值的 SQL 函数。在参数列表中,它会依次检查每个参数的值,返回第一个非 NULL 的值。如果所有参数都是 NULL,则返回 NULL。
COALESCE(value1, value2, ..., valueN)

  • value1, value2, …, valueN 是一组表达式或列,COALESCE 会按顺序检查这些值,返回第一个非 NULL 的值。
  • 如果所有参数都是 NULL,则返回 NULL。
# Write your MySQL query statement below
SELECT COALESCE((SELECT numFROM MyNumbersGROUP BY numHAVING COUNT(*) = 1ORDER BY num DESCLIMIT 1),NULL
) AS num;

5.买下所有产品的客户

报告 Customer 表中购买了 Product 表中所有产品的客户的 id。

返回结果表 无顺序要求 。
在这里插入图片描述

select distinct customer_id
from Customer
group by customer_id
having count(distinct product_key) = (select count(*) from Product)

6.员工的直属部门

一个员工可以属于多个部门。当一个员工加入超过一个部门的时候,他需要决定哪个部门是他的直属部门。请注意,当员工只加入一个部门的时候,那这个部门将默认为他的直属部门,虽然表记录的值为’N’.
在这里插入图片描述
注意当条件之一无法直接使用时的写法

SELECT employee_id, department_id
FROM Employee
WHERE primary_flag = 'Y'OR employee_id IN (SELECT employee_idFROM EmployeeGROUP BY employee_idHAVING COUNT(*) = 1);

7.指定日期的产品价格

编写一个解决方案,找出在 2019-08-16 时全部产品的价格,假设所有产品在修改前的价格都是 10 。
在这里插入图片描述
本题的关键点在找到 2019-08-16 前所有有改动的产品及其最新价格和没有没有修改过价格的产品。

我们可以先找到所有的产品,再找到所有 2019-08-16 前有修改的产品和他们最新的价格,使用 left join 将两个查询联合。如果产品没有价格,说明没有修改过,设置为 10,如果有价格,设置为最新的价格。

IFNULL(x1, x2) :如果 x1 为 NULL, 返回 x2,否则返回 x1。

  1. 找出所有产品:
select distinct product_id 
from products
  1. 找到2019-08-16前所有有改动的产品的最新价格

先使用max函数找到产品最新修改时间。实用where限制时间小于等于2019-08-16

select product_id, max(change_date)
from products
where change_date <= '2019-08-16'
group by product_id

再使用where查询,得到最新的价格

select product_id, new_price 
from products
where (product_id, change_date) in (select product_id, max(change_date)from productswhere change_date <= '2019-08-16'group by product_id
)

代码逻辑汇总

select p1.product_id, ifnull(p2.new_price, 10) as price
from (select distinct product_idfrom products
) as p1 -- 所有的产品
left join (select product_id, new_price from productswhere (product_id, change_date) in (select product_id, max(change_date)from productswhere change_date <= '2019-08-16'group by product_id)
) as p2 -- 在 2019-08-16 之前有过修改的产品和最新的价格
on p1.product_id = p2.product_id

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

PyEcharts | 通过分析奥迪车购买数据来学习柱状折线复合图像的绘制方法

柱状折线复合图像效果 实现步骤 df pd.read_csv(3汽车之家-奥迪汽车数据.csv) df.head()print(df.shape) df.info()注意所有 列字段 对应的数据类型&#xff0c;同时注意绘图所需要的汽车销售数量和价格 df1 df.copy() df1 df1[~df1[百公里油耗].str.contains(百公里电耗…

Spring Data Redis常见操作总结

我列出来的都是最常用的&#xff0c;其他的你要自己去搜搜 1. 列表类型数据 Autowired private RedisTemplate<String ,Object> redisTemplate;public void f1() {String k "key";ListOperations<String, Object> list redisTemplate.opsForList();r…

【linux】如何扩展磁盘容量(VMware虚拟机)-转载

如何扩展磁盘容量(VMware虚拟机) 一、前置准备工作 扩展虚拟机磁盘前&#xff0c;需要先把虚拟机关机才能进行扩展磁盘操作 1.选择虚拟机设置&#xff0c;如下图所示 2.输入你想扩展的磁盘容量&#xff0c;以本次实操为例&#xff0c;我这里输入的30G&#xff08;具体按照实…

本机ip地址和网络ip地址一样吗

在数字化时代的浪潮中&#xff0c;IP地址作为网络设备身份的象征&#xff0c;扮演着举足轻重的角色。然而&#xff0c;当我们谈论IP地址时&#xff0c;常常会听到“本机IP地址”与“网络IP地址”这两个术语&#xff0c;它们之间是否存在差异&#xff1f;又该如何准确理解并区分…

Cacheable注解导致线程block

优质博文&#xff1a;IT-BLOG-CN 环境&#xff1a;jdk8/tomcat7 一、问题现象 应用系统再一次发布回退时&#xff0c;cpu util突然徒增到100%以上&#xff0c;与此同时&#xff0c;服务响应时间大幅度增加&#xff0c;依赖该服务的应用接连抛出超时异常&#xff0c;发生熔断。…

【数据分享】中国证券期货统计年鉴(2001~2023)

数据介绍 一、《中国证券期货统计年鉴(2023)》(中英文)收录了2022年证券期货市场的统计数据以及与证券期货市场相关的部分宏观经济数据&#xff0c;是一部全面反映中华人民共和国证券期货市场发展情况的资料性年刊。 二、年鉴分为概况、股票、债券、基金、期货、上市和挂牌公…

IDEA 2024.3正式版发布,速览新功能!

0 前言 IntelliJ IDEA 2024.3 引入了一系列可以提升您的开发体验的强大新功能。 IDE 现在提供代码逻辑结构的表示&#xff0c;简化了 Kubernetes 应用程序的调试体验&#xff0c;引入了集群范围的 Kubernetes 日志访问。 1 关键亮点 1.1 Structure工具窗口中的 Logical代码结…

Docker 基础命令介绍和常见报错解决

介绍一些 docker 可能用到的基础命令&#xff0c;并解决三个常见报错&#xff1a; 权限被拒绝&#xff08;Permission Denied&#xff09;无法连接到 Docker 仓库&#xff08;Timeout Exceeded&#xff09;磁盘空间不足&#xff08;No Space Left on Device&#xff09; 命令以…

【大语言模型】ACL2024论文-10 CSCD-IME: 纠正拼音输入法产生的拼写错误

【大语言模型】ACL2024论文-10 CSCD-IME: 纠正拼音输入法产生的拼写错误 目录 文章目录 【大语言模型】ACL2024论文-10 CSCD-IME: 纠正拼音输入法产生的拼写错误目录摘要研究背景问题与挑战如何解决创新点算法模型1. 错误检测模型2. 伪数据生成模块3. n-gram语言模型过滤4. 多任…

前端(2)——快速入门CSS

参考&#xff1a; 罗大富 CSS 参考手册 | 菜鸟教程 CSS 参考手册 1. CSS CSS全名是层叠样式表&#xff0c;中文名层叠样式表。用于定义网页样式和布局的样式表语言。 通过 CSS&#xff0c;你可以指定页面中各个元素的颜色、字体、大小、间距、边框、背景等样式&#xff0c;…

电阻测试流程

1.外观检查 &#xff08;1&#xff09;样品上丝印与规格书中相符&#xff0c;0402以上封装电阻要有标称电阻值&#xff0c;丝印清晰。 &#xff08;2&#xff09;检验外观&#xff0c;主要包含以下几点&#xff1a; a) 电阻器本体饱满&#xff0c;有光泽&#xff0c;不允许有气…

万博智云产品完成与ZStack Cloud云平台兼容性互认证

摘要 近日&#xff0c;上海云轴科技股份有限公司(简称“云轴科技ZStack”)与万博智云信息科技&#xff08;上海&#xff09;有限公司&#xff08;简称“万博智云OnePro Cloud”&#xff09;完成产品兼容性互认证。经过测试&#xff0c;万博智云OnePro Cloud两款旗舰产品HyperB…

深度学习框架Pytorch介绍和示例

目录 一. 简介 1.1动态计算图 1.2自动化功能 二. 主要特性 2.1 动态计算图 2.2 自动求导 2.3 强大的社区支持 2.4 多平台支持 三. 核心组件 3.1 Tensor 3.2 Autograd 3.3 nn.Module 3.4 Optim 四. 数据处理 五. 神经网络定义与训练 5.1定义神经网络&#xff1a; 5.2训练过…

鼠标点击(二)与接口函数集合的的实现

&#xff08;1&#xff09; &#xff08;2&#xff09; &#xff08;3&#xff09;

基于Spring Boot+Vue的多媒体素材管理系统的设计与实现

一.系统开发工具与环境搭建 1.系统设计开发工具 后端使用Java编程语言的Spring boot框架 项目架构&#xff1a;B/S架构 运行环境&#xff1a;win10/win11、jdk17 前端&#xff1a; 技术&#xff1a;框架Vue.js&#xff1b;UI库&#xff1a;ElementUI&#xff1b; 开发工具&…

《FreeRTOS列表和列表项篇》

FreeRTOS列表和列表项 1. 什么是列表和列表项&#xff1f;1.1 列表list1.2 列表项list item 2. 列表和列表项的初始化2.1 列表的初始化2.2 列表项的初始化 3. 列表项的插入4. 列表项末尾插入5. 列表项的删除6. 列表的遍历 列表和列表项是FreeRTOS的一个数据结构&#xff0c;是F…

使用 MTT GPU 搭建个人 RAG 推理服务

什么是 LLM RAG?​ LLM RAG&#xff08;Retrieval-Augmented Generation with Large Language Models&#xff09;是一种结合大语言模型&#xff08;LLM&#xff09;和信息检索&#xff08;IR&#xff09;技术的生成方法&#xff0c;专门用于增强语言模型的上下文感知和准确性…

Vue3 -- 环境变量的配置【项目集成3】

环境&#xff1a; 在项目开发过程中&#xff0c;至少会经历开发环境、测试环境和生产环境(即正式环境)三个阶段。 开发环境 .env.development测试环境 .env.test生产环境 .env.production 不同阶段请求的状态(如接口地址等)不一样&#xff0c;开发项目的时候要经常配置代理跨…

AI 大模型应用:AI开发的捷径工作流模式

一、引言 大部分人使用 AI&#xff0c;大概都跟我一样&#xff0c;停留在初级阶段。 平时&#xff0c;就是向 AI 提问&#xff08;又称聊天&#xff09;&#xff0c;偶尔也用一些现成的服务&#xff1a;生成图片、生成代码、翻译文章等等。 但是&#xff0c;时间久了&#x…

研究生被安排许多文献阅读,如何快速的阅读众多英文文献?

在科研的道路上&#xff0c;筛选文献就像是大海捞针&#xff0c;找对了方法&#xff0c;就能快速锁定那些有价值的信息。尤其是在实验方向尚未确定时&#xff0c;如何从海量文献中筛选出“金子”&#xff0c;就显得尤为重要。 关键的第一步&#xff1a;精准筛选 当你面对一堆…