count(1)与count(*)的区别、ROUND函数

部分问题

  • 1. count(1)与count(*)的区别
  • 2. ROUND函数
  • 3. SQL19 分组过滤练习题
  • 4. Mysql bigdecimal 与 float的区别
  • 5. 隐式内连接与显示内连接 (INNER可省略)

1. count(1)与count(*)的区别

COUNT(*)和COUNT(1)有什么区别?

count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略为NULL的值。

count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略为NULL的值。

count(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是指空字符串或者0,而是表示null)的计数,即某个字段值为NULL时,不统计。

create table counttest(name char(1),age char(2)); 
insert into counttest values('a', '14'),('a', '15'),('a', '15'),
('b', NULL),('b', '16'),('c', '17'),('d', null),('e',''); SELECT name,count( name ),count( 1 ),count(*),count( age ),count(DISTINCT ( age )) 
FROMcounttest group BY name;

在这里插入图片描述

在这里插入图片描述

2. ROUND函数

MySQL中的ROUND函数是用于将一个数值四舍五入到指定的小数位数的函数。它的语法如下:

ROUND(x, d)

其中,x是要进行四舍五入的数值,d是要保留的小数位数。如果d是正数,则x将四舍五入到小数点后d位;如果d是负数,则x将四舍五入到整数部分的第d位。

以下是一些示例:

  1. ROUND(3.14159, 2) 返回 3.14。这里将3.14159四舍五入到小数点后2位。
  2. ROUND(12.345, 0) 返回 12。这里将12.345四舍五入到整数部分。
  3. ROUND(123.456, -1) 返回 120。这里将123.456四舍五入到整数部分的第一位。

需要注意的是,ROUND函数的舍入规则是标准的四舍五入。如果小数位的下一位是5,将进行向上舍入,否则向下舍入。

另外,还有一个可选的参数mode可以用来指定舍入模式,默认是使用0,表示四舍五入。如果mode是正数,表示向上舍入;如果是负数,表示向下舍入。

总而言之,MySQL中的ROUND函数提供了一种方便的方式来对数值进行四舍五入操作。

SELECTgender,university,COUNT(*) user_num,ROUND ( AVG( active_days_within_30 ), 1 ) avg_active_days,ROUND ( AVG( question_cnt ), 1 ) avg_quesition_cnt 
FROMuser_profile 
GROUP BYgender,university

3. SQL19 分组过滤练习题

分组过滤练习题

在这里插入图片描述

SELECTuniversity,avg( question_cnt ) avg_question_cnt,avg( answer_cnt ) avg_answer_cnt 
FROMuser_profile 
GROUP BYuniversity 
HAVINGavg_question_cnt < 5 OR avg_answer_cnt < 20;
DROP TABLE IF EXISTS user_profile;
CREATE TABLE `user_profile` (`id` INT NOT NULL,`device_id` INT NOT NULL,`gender` VARCHAR ( 14 ) NOT NULL,`age` INT,`university` VARCHAR ( 32 ) NOT NULL,`gpa` FLOAT,`active_days_within_30` INT,`question_cnt` FLOAT,`answer_cnt` FLOAT 
);
INSERT INTO user_profile VALUES(1,2138,'male',21,'北京大学',3.4,7,2,12);
INSERT INTO user_profile VALUES(2,3214,'male',null,'复旦大学',4.0,15,5,25);
INSERT INTO user_profile VALUES(3,6543,'female',20,'北京大学',3.2,12,3,30);
INSERT INTO user_profile VALUES(4,2315,'female',23,'浙江大学',3.6,5,1,2);
INSERT INTO user_profile VALUES(5,5432,'male',25,'山东大学',3.8,20,15,70);
INSERT INTO user_profile VALUES(6,2131,'male',28,'山东大学',3.3,15,7,13);
INSERT INTO user_profile VALUES(7,4321,'male',28,'复旦大学',3.6,9,6,52);复制
输出:
university|avg_question_cnt|avg_answer_cnt
北京大学    |2.500           |21.000
浙江大学    |1.000           |2.000

4. Mysql bigdecimal 与 float的区别

在MySQL中,BigDecimal和Float是用于存储和处理数值类型的数据的两种不同的数据类型,它们具有以下几个重要的区别:

  1. 精度:BigDecimal是一种高精度的数值类型,可以存储任意精度的数值,而Float是一种单精度浮点数类型,具有固定的位数限制。一般来说,BigDecimal可以存储更大范围的数值,并保留更高的精度。

  2. 四舍五入:由于浮点数在二进制表示中的限制,Float类型的数值在进行计算和存储时可能会产生舍入误差。这意味着在进行精确计算时,BigDecimal通常比Float更可靠,因为BigDecimal采用了基于十进制的表示方式,能够精确地进行四舍五入。

  3. 存储空间:Float类型的数据占用的存储空间通常比BigDecimal要小。对于大量的数值数据,使用Float类型可能会节省存储空间。

  4. 计算性能:由于BigDecimal是基于BigInteger的,在进行计算时可能会比Float类型更加耗费计算资源。Float类型可以使用硬件浮点数运算指令进行快速计算,而BigDecimal则需要进行更复杂的算法计算。

综上所述,当需要精确计算和高精度存储时,尤其是在金融领域或需要精确计算的场景中,推荐使用BigDecimal。而当对精度要求不高,且需要节省存储空间和提高计算性能时,可以考虑使用Float类型。

5. 隐式内连接与显示内连接 (INNER可省略)

在这里插入图片描述
在这里插入图片描述

-- 隐式内连接
SELECTq.device_id,q.question_id,q.result 
FROMquestion_practice_detail q,user_profile u 
WHEREq.device_id = u.device_id AND u.university = '浙江大学';-- 显示内连接 (INNER可省略)
SELECTq.device_id,q.question_id,q.result 
FROMquestion_practice_detail qINNER JOIN user_profile uON q.device_id = u.device_id 
WHEREu.university = '浙江大学';

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

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

相关文章

3DS Max中绘制圆锥箭头

3DS Max中绘制圆锥箭头 绘制结果绘制过程步骤一&#xff1a;绘制立体圆锥方法1方法2 步骤二&#xff1a;圆锥体调参&#xff08;模型尺寸设置&#xff09;1圆锥体参数说明2圆锥体参数调整 步骤三&#xff1a;绘制圆柱体步骤四&#xff1a;圆柱体调参步骤五&#xff1a;圆锥与圆…

JavaExcel:自动生成数据表并插入数据

故事背景 出于好奇&#xff0c;当下扫描excel读取数据进数据库 or 导出数据库数据组成excel的功能层出不穷&#xff0c;代码也是前篇一律&#xff0c;poi或者easy excel两种SDK的二次利用带来了各种封装方法。 那么为何不能直接扫描excel后根据列的属性名与行数据的属性建立S…

yolov5的pytorch配置

1. conda create -n rdd38 python3.82、pip install torch1.8.0 torchvision0.9.0 torchaudio0.8.0 -f https://download.pytorch.org/whl/cu113/torch_stable.html -i https://pypi.tuna.tsinghua.edu.cn/simple 3、conda install cudatoolkit10.2

使用Docker配置深度学习的运行环境

文章目录 推荐实验环境前言docker安装docker操作docker配置常见方法&#xff08;安装包、联网、程序管理器&#xff09;安装驱动的前提要求传统方法安装驱动程序程序管理器安装联网安装deb包安装 安装完成后的设置非传统方法安装-通过容器安装驱动的前提要求安装NVIDIA-Contain…

基于Django的博客管理系统

1、克隆仓库https://gitee.com/lylinux/DjangoBlog.git 若失效&#xff1a;https://gitee.com/usutdzxy/DjangoBlog.git 2、环境安装 pip install -Ur requirements.txt3、修改djangoblog/setting.py 修改数据库配置&#xff0c;其他的步骤就按照官方文档。 DATABASES {def…

在 Amazon 搭建无代码可视化的数据分析和建模平台

现代企业常常会有利用数据分析和机器学习帮助解决业务痛点的需求。如制造业中&#xff0c;利用设备采集上来的数据做预测性维护&#xff0c;质量控制&#xff1b;在零售业中&#xff0c;利用客户端端采集的数据做渠道转化率分析&#xff0c;个性化推荐等。 亚马逊云科技开发者…

低代码赋能| 绿色智慧矿山解决方案

在世界能源日趋紧张的背景下&#xff0c;能源产业的数字化升级是大势所趋。矿山行业作为国家能源安全的“压舱石”&#xff0c;也必须进行产业升级。一直以来&#xff0c;国家都在大力推动智慧矿山建设。通过大数据、GIS、物联网、云计算、人工智能等新兴技术&#xff0c;实现矿…

R语言图形的组合( par(),layout(),par(fig()) )

引入d.class进行画图 > d.class<-read.csv("D://class.csv",header T) > attach(d.class) > opar<-par(no.readonly TRUE)非常简单的数据&#xff0c;需要可自取 链接&#xff1a;https://pan.baidu.com/s/1zNx5z9JsaaRqFueRgGY3mQ 提取码&#x…

微信小程序新版隐私协议弹窗实现最新版

1. 微信小程序又双叒叕更新了 2023.08.22更新&#xff1a; 以下指南中涉及的 getPrivacySetting、onNeedPrivacyAuthorization、requirePrivacyAuthorize 等接口目前可以正常接入调试。调试说明&#xff1a; 在 2023年9月15号之前&#xff0c;在 app.json 中配置 __usePriva…

Vite打包性能优化及填坑

最近在使用 Vite4.0 构建一个中型前端项目的过程中&#xff0c;遇到了一些坑&#xff0c;也做了一些项目在构建生产环境时的优化&#xff0c;在这里做一个记录&#xff0c;以便后期查阅。(完整配置在后面) 上面是dist文件夹的截图&#xff0c;里面的内容已经有30mb了&#xff…

Revit SDK:SpatialFieldGradient 在面上显示渐变颜色(AVF)分析显示样式

前言 这个例子使用Revit显示样式功能将面显示成不同的颜色。分析显示样式参考官方文档。 内容 效果&#xff1a; 核心逻辑&#xff1a; 得到一个 SpatialFieldManager拾取一系列的面&#xff1a;uiDoc.Selection.PickObjects(ObjectType.Face)计算面上的 UV 值&#xff0c;…

COSCon'23 开源市集:共赴一场草坪上的开源派对

一年一度的开源盛会&#xff0c;第八届中国开源年会&#xff08;COSCon23 &#xff09;&#xff0c;将于10月28~29日&#xff0c;在四川成都市高新区菁蓉汇召开&#xff01;本次大会的主题是&#xff1a;“开源&#xff1a;川流不息、山海相映”&#xff01; 我们预期会有超过1…

更健康舒适更科技的照明体验!SUKER书客护眼台灯 L1上手体验

低价又好用的护眼台灯是多数人的需求&#xff0c;很多人只追求功能性护眼台灯&#xff0c;显色高、无频闪、无蓝光等基础需求。但是在较低价格中很难面面俱到&#xff0c;然而刚发布的SUKER书客L1护眼台灯却是一款不可多得的性价比护眼台灯&#xff0c;拥有高品质光源&#xff…

第63步 深度学习图像识别:多分类建模误判病例分析(Tensorflow)

基于WIN10的64位系统演示 一、写在前面 上两期我们基于TensorFlow和Pytorch环境做了图像识别的多分类任务建模。这一期我们做误判病例分析&#xff0c;分两节介绍&#xff0c;分别基于TensorFlow和Pytorch环境的建模和分析。 本期以健康组、肺结核组、COVID-19组、细菌性&am…

mp代码生成插件

mp代码生成插件 1.下载下面的插件 2.连接测试 3.生成代码的配置 4.生成代码 红色的是刚刚生成的。 我觉得不如官方的那个好用&#xff0c;唯一的好处就是勾选的选项能够看的懂得。

视频云存储/安防监控/AI视频智能分析网关V3:工服检测功能详解

在一些工地、后厨、化工、电力等特定的场景中&#xff0c;工服的穿戴是必不可少的。这不仅是安全制度的要求&#xff0c;更能降低工作风险、提高工作效率。TSINGSEE青犀AI 边缘计算网关硬件 —— 智能分析网关可以通过实时监测和识别工人的工装穿戴情况&#xff0c;确保他们符合…

什么是接口测试,如何做接口测试?

比起点点点的功能测试&#xff0c;“接口测试”显得专业又高大上&#xff0c;也因此让有些初级测试人员“望而生畏”。别担心&#xff0c;其实接口测试也是功能测试的一种&#xff0c;它是针对接口进行的功能测试。 写在前面&#xff1a;本文参考了茹炳晟老师的《测试工程师 全…

软件架构设计(三) B/S架构风格-层次架构(一)

层次架构风格从之前的两层C/S到三层C/S,然后演化为三层B/S架构,三层B/S架构之后仍然在往后面演化,我们来看一下层次架构演化过程中都有了哪些演化的架构风格呢? 而我们先简单了解一下之前的层次架构风格中分层的各个层次的作用。 表现层:由于用户进行交互,比如MVC,MVP,…

医院小程序如何在线搭建?实战解析

在当今数字化时代&#xff0c;移动应用程序成为我们生活中必不可少的一部分。特别是在医疗领域&#xff0c;移动应用程序的需求更为迫切。为了满足这一需求&#xff0c;开发一个医疗小程序成为了许多医疗机构的优先选择。 在本文中&#xff0c;我们将分享一个实战攻略&#xff…

大数据可视化大屏实战项目(3)图书销售展示全国地图可视化---HTML+CSS+JS【源码在文末】(可用于比赛项目或者作业参考中)

大数据可视化大屏实战项目&#xff08;3&#xff09;图书销售展示全国地图可视化---HTMLCSSJS【源码在文末】&#xff08;可用于比赛项目或者作业参考中&#x1f415;&#x1f415;&#x1f415;&#xff09; 一&#xff0c;项目概览 ☞☞☞☞☞☞项目演示链接&#xff1a;http…