当前位置: 首页 > news >正文

MySQL基础练习题37-查找结果的质量和占比

目录

题目

准备数据

分析数据

总结


题目

找出每次的 query_name 、 quality 和 poor_query_percentage

quality 和 poor_query_percentage 都应 四舍五入到小数点后两位 。

准备数据

## 创建库
create database db;
use db;## 创建表
Create table If Not Exists Queries (query_name varchar(30), result varchar(50), position int, rating int);## 向表中插入数据
Truncate table Queries;
insert into Queries (query_name, result, position, rating) values ('Dog', 'Golden Retriever', '1', '5');
insert into Queries (query_name, result, position, rating) values ('Dog', 'German Shepherd', '2', '5');
insert into Queries (query_name, result, position, rating) values ('Dog', 'Mule', '200', '1');
insert into Queries (query_name, result, position, rating) values ('Cat', 'Shirazi', '5', '2');
insert into Queries (query_name, result, position, rating) values ('Cat', 'Siamese', '3', '3');
insert into Queries (query_name, result, position, rating) values ('Cat', 'Sphynx', '7', '4');

分析数据

Dog 查询结果的质量为 ((5 / 1) + (5 / 2) + (1 / 200)) / 3 = 2.50

Dog 查询结果的劣质查询百分比为 (1 / 3) * 100 = 33.33

Cat 查询结果的质量为 ((2 / 5) + (3 / 3) + (4 / 7)) / 3 = 0.66

Cat 查询结果的劣质查询百分比为 (1 / 3) * 100 = 33.33

selectquery_name,round(avg(rating/position),2) as quality,round(avg(rating<3)*100,2) as poor_query_percentage
from queries
group by query_name
having query_name is not null;

总结

我们先逐个分析

前提是需要分组,分完组之后才可以使用聚合函数。

1.avg(rating/position)是把所有的rating除以所有的position。

selectquery_name,sum(position),sum(rating),avg(rating/position),round(avg(rating/position),2) as quality
from queries
group by query_name
having query_name is not null;

2.avg(rating<3)*100,过滤rating<3

selectquery_name,count(rating),sum(rating<3),avg(rating<3),round(avg(rating<3)*100,2) as poor_query_percentage
from queries
group by query_name
having query_name is not null;

注意:count()函数是不支持直接添加大于或者小于。因为count函数是用来统计满足特定条件的记录数,而不是用来比较或筛选数据。

相关文章:

MySQL基础练习题37-查找结果的质量和占比

目录 题目 准备数据 分析数据 总结 题目 找出每次的 query_name 、 quality 和 poor_query_percentage。 quality 和 poor_query_percentage 都应 四舍五入到小数点后两位 。 准备数据 ## 创建库 create database db; use db;## 创建表 Create table If Not Exists Que…...

酒店行业如何利用XML进行营销短信

随着信息社会的到来&#xff0c;消费者获得会所的服务也从单纯的电话方式&#xff0c;逐渐转变为电话、互联网、传真&#xff0c;群发短信等多种媒体并行的方式。今天着重介绍下酒店行业如何利用短信平台进行营销。 群发短信业务对酒店起到的效率&#xff1a;根据新产品或服务向…...

【模型】TFLiteModel

TFLiteModel 指的是 TensorFlow Lite&#xff08;TFLite&#xff09;模型&#xff0c;它是 TensorFlow 的轻量级解决方案&#xff0c;用于在移动设备、嵌入式系统和物联网设备上运行机器学习模型。TFLite 模型通常是从 TensorFlow 模型转换而来的&#xff0c;并且经过了优化&am…...

【Kubernetes】Service 概念与实战

Service 概念与实战 1.通过 Service 向外部暴露 Pod2.Service 的多端口设置3.集群内部的 DNS 服务4.无头 Service 在 Kubernetes 中部署的应用可能对应一个或者多个 Pod&#xff0c;而每个 Pod 又具有独立的 IP 地址。Service&#xff08;服务&#xff09;能够为一组功能相同的…...

RTSP|RTMP流如何指定坐标位置和分辨率获取RGB数据实时渲染和算法分析

接上一篇blog&#xff1a;同一路RTSP|RTMP流如何同时回调YUV和RGB数据实现渲染和算法分析-CSDN博客 我们知道&#xff0c;由于解码后的YUV或RGB数据size比较大&#xff0c;如果想把转换后的RGB数据传给比如python算法的话&#xff0c;数据量还是挺大&#xff0c;为此&#xff…...

基于ssm+vue+uniapp的英语学习交流平台小程序

开发语言&#xff1a;Java框架&#xff1a;ssmuniappJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;M…...

如何判断一个TimerTask是否已经完成

如何判断一个TimerTask是否已经完成 判断TimerTask是否已经完成并不是TimerTask或Timer类直接提供的功能&#xff0c;因为TimerTask一旦被提交给Timer执行&#xff0c;它就在一个独立的线程中运行&#xff0c;而Timer类并不直接提供方法来查询或控制任务的执行状态。 然而&am…...

Android常用面试题

1、如何理解Java的多态&#xff1f;其中&#xff0c;重载和重写有什么区别&#xff1f; 2、谈一下JVM内存区域划分&#xff1f;哪部分是线程公有的&#xff0c;哪部分是私有的&#xff1f; 3、final关键字的用法&#xff1f; 4、死锁是怎么导致的&#xff1f;如何定位死锁 5、数…...

JSON与Jsoncpp库:数据交换的灵活选择

目录 引言 一.JSON简介 二. Jsoncpp库概述 三. Jsoncpp核心类介绍 3.1 Json::Value类 3.2 序列化与反序列化类 四. 实现序列化 五. 实现反序列化 结语 引言 在现代软件开发中&#xff0c;数据交换格式扮演着至关重要的角色。JSON&#xff08;JavaScript Object Notati…...

salesforce rich text 字段支持html中内嵌JavaScript吗

Salesforce 的富文本字段&#xff08;Rich Text Field&#xff09;不支持在 HTML 中内嵌 JavaScript。为了安全&#xff0c;Salesforce 会自动移除或过滤用户输入中的任何 JavaScript 代码。这是为了防止跨站点脚本&#xff08;XSS&#xff09;攻击&#xff0c;从而保护 Salesf…...

Ubuntu24.04、22.04或20.04安装Golang方法教程

在Ubuntu Linux&#xff08;例如 Ubuntu 24.04、22.04 或 20.04&#xff09;上安装Go&#xff08;Golang&#xff09;是一个简单的过程。我们可以使用默认系统存储库使用本教程中给出的命令下载开源 Go 编程语言&#xff0c;轻松构建简单、可靠和高效的软件。 Go语言由Google…...

学习记录第二十二天

time函数与localtime函数 在Linux环境下使用C语言处理时间&#xff0c;通常会涉及到几个重要的头文件和函数。主要的头文件是 <time.h>&#xff0c;它包含了处理时间的各种函数和数据结构。 1. 数据结构 1.time_t: 一个类型定义&#xff0c;用于存储时间值&#xff0c…...

红酒与艺术展览:品味艺术与风味的双重盛宴

当艺术的魅力与红酒的醇香交织在一起&#xff0c;一场别开生面的盛宴便悄然展开。今天&#xff0c;让我们一同走进这场红酒与艺术展览的邂逅&#xff0c;品味艺术与风味的双重盛宴。 一、艺术展览的瑰丽世界 艺术展览&#xff0c;如同一座瑰丽的宝库&#xff0c;汇聚了无数艺…...

1Panel配置

1. 脚本安装 curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sh quick_start.sh2. 配置镜像加速 在容器-> 配置中设置&#xff0c;否则安装软件会失败。 https://docker.211678.top https://docker.1panel.live …...

场外期权是如何定价的?场外期权定价的基本原理是什么?

场外期权的定价通常基于多种复杂的因素&#xff0c;以下是一些场外期权主要的影响因素和常见的定价方法&#xff1a; 影响场外期权定价的因素&#xff1a; 标的资产价格&#xff1a;标的资产当前的市场价格是定价的基础。标的资产价格波动率&#xff1a;波动率反映了标的资产价…...

vue中数据持久化

在Vue中&#xff0c;数据持久化通常指的是将Vue组件或应用中的数据保存到用户的浏览器或设备的存储中&#xff0c;以便在用户的会话&#xff08;session&#xff09;或跨会话&#xff08;如重新加载页面或重新打开浏览器&#xff09;中保持这些数据。Vue本身并不直接提供数据持…...

小白零基础学数学建模系列-Day3-线性回归模型的构建与评估

文章目录 1 线性回归基础1.1 线性回归概念与应用1.2 数学原理与推导1.3 线性回归的实现 2 案例分析&#xff1a;房价预测2.1 加载数据2.2 数据预处理2.3 探索性数据分析2.4 观察选择特征2.5 准备训练模型的数据2.6 将数据拆分为训练集和测试集2.7 训练和测试模型2.8 模型评估 3…...

Flutter中的 extended_nested_scroll_view 库:介绍与使用指南

在开发Flutter应用时&#xff0c;处理复杂的滚动效果是一项常见的任务。Flutter提供了NestedScrollView来实现可折叠的应用栏与滚动列表的结合&#xff0c;但在某些情况下&#xff0c;NestedScrollView可能不够强大。为了解决这些问题&#xff0c;我们可以使用extended_nested_…...

Elasticsearch 综合搜索案例解析

Elasticsearch 是一个功能强大的搜索引擎&#xff0c;它不仅支持全文搜索&#xff0c;还提供了排序、分页、高亮显示等多种搜索结果处理功能。通过综合使用这些功能&#xff0c;我们可以构建出丰富而高效的搜索应用。本文将通过一个具体的案例&#xff0c;介绍如何在 Elasticse…...

Web存储革命:揭秘JavaScript的会话存储(sessionStorage)

标题&#xff1a;Web存储革命&#xff1a;揭秘JavaScript的会话存储&#xff08;sessionStorage&#xff09; 在当今的Web开发中&#xff0c;状态管理和数据持久化是构建交互式应用的关键。JavaScript提供了多种客户端存储解决方案&#xff0c;其中会话存储&#xff08;sessio…...

网站的页面加载速度和SEO有什么关系

网站的页面加载速度和SEO有什么关系 在当今互联网时代&#xff0c;网站的页面加载速度和SEO&#xff08;搜索引擎优化&#xff09;之间的关系是一个不可忽视的重要问题。在用户体验和搜索引擎排名方面&#xff0c;页面加载速度起着至关重要的作用。本文将从问题分析、原因说明…...

SAP-ABAP:SAP ABAP 经典弹窗函数 POPUP_TO_CONFIRM 完全指南

SAP ABAP 经典弹窗函数 POPUP_TO_CONFIRM 完全指南在SAP开发中&#xff0c;如何优雅地让用户确认“你确定要删除这条数据吗&#xff1f;”——答案就是 POPUP_TO_CONFIRM。在 ABAP 开发的世界里&#xff0c;与用户的交互不仅仅是输入输出。很多时候&#xff0c;我们需要在程序执…...

测试流程图显示

一、原理解析 / 概念介绍 1.1 自动化序列化流水线 hive_generator 处于开发链路的“后台”&#xff0c;负责将 Dart 对象转换为 Hive 识别的二进制流编码逻辑。 #mermaid-svg-bbx9YEu5DFSBhCuG{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;…...

Windows 11 家庭版安装 WSL + Docker 踩坑记:从 Store 地狱到 --web-download 救赎

一句话总结当你发现 wsl --update 和 wsl --install 永远卡住、报权限错误或连接重置时&#xff0c;不要挣扎&#xff0c;直接用 --web-download 绕过 Microsoft Store。 这 99% 能解决 Windows 11 家庭版上的 WSL 安装/更新问题。一、问题现象&#xff1a;一切看起来都很正常&…...

开源协议解析与合规实践指南

1. 开源协议的本质与重要性作为一名在软件行业摸爬滚打十多年的开发者&#xff0c;我见过太多因为忽视开源协议而引发的纠纷案例。记得2018年某创业团队就因误用GPL协议代码导致整个产品被迫开源&#xff0c;最终项目流产。开源协议绝非一纸空文&#xff0c;它直接关系到开发者…...

第 6 次执行后,PostgreSQL 执行计划为何突变?

引言 在 PostgreSQL 中&#xff0c;预处理语句通常用于提升性能并防止 SQL 注入。但一个不易察觉的行为是&#xff1a;查询规划器会在执行达到特定次数后自动改变执行计划。 这种变化往往令人困惑——SQL 本身未发生变化&#xff0c;执行计划却突然发生切换&#xff0c;有时甚至…...

Redis 竞品与替代方案选型可行性分析报告

Redis 竞品与替代方案选型可行性分析报告 一、引言 Redis 作为内存数据库领域的标杆产品&#xff0c;凭借其高性能、丰富的数据结构和成熟的生态系统&#xff0c;在缓存、消息队列、实时计算等场景占据主导地位。然而&#xff0c;随着云原生架构的普及、数据规模的爆炸式增长以…...

My SQL 数据库基础实例教程(第二单元学习笔记)

2.1关系数据库设计2.1.1 数据的加工1.现实世界现实世界是指客观存在的事物及他们相互之间的联系。2.信息世界信息世界是人们把现实世界的信息和联系通过“符号”记录下来&#xff0c;然后用规范化的数据库定义语言来描述而构成的一个抽象世界。3.计算机世界计算机世界将信息世界…...

别再傻等1000步了!用DDIM在Stable Diffusion里5分钟搞定高质量出图(附详细参数设置)

5分钟极速出图&#xff1a;DDIM采样器在Stable Diffusion中的实战指南 当你在深夜赶稿需要快速生成概念图时&#xff0c;当客户要求半小时内看到10个设计方案时&#xff0c;传统扩散模型缓慢的生成速度往往让人抓狂。别担心&#xff0c;DDIM采样器就是为这种紧急场景而生的利器…...

深入解析pysim中的eUICC ISD-R命令:从基础操作到高级应用

1. eUICC ISD-R命令基础入门 第一次接触eUICC ISD-R命令时&#xff0c;我完全被那些专业术语搞晕了。经过几个项目的实战&#xff0c;我发现这些命令其实就像智能手机上的应用商店操作——只不过管理的是SIM卡上的应用。eUICC&#xff08;嵌入式通用集成电路卡&#xff09;是现…...