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

关于网站建设调查问卷网站建设教学课件

关于网站建设调查问卷,网站建设教学课件,如何联系外贸公司接订单,高端学校网站建设背景 有时候我们需要汇总一些数据,比如查询一个班级的平均分数,这个时候我们需要的是把分数汇总,然后计算出一个平均值进行返回,并不需要返回某一列的值,针对这种场景,mysql中提供了一些聚合函数帮助快速完…

背景

有时候我们需要汇总一些数据,比如查询一个班级的平均分数,这个时候我们需要的是把分数汇总,然后计算出一个平均值进行返回,并不需要返回某一列的值,针对这种场景,mysql中提供了一些聚合函数帮助快速完成检索:

函数名功能说明示例场景
AVG()计算某列的平均值计算班级数学平均分
COUNT()统计某列的行数(或非 NULL 值的数量)统计学生总数
MAX()获取某列的最大值查找英语最高分
MIN()获取某列的最小值找出体育最低分
SUM()计算某列的总和计算全年级数学总分

接下来分别介绍每一个函数的用法。

AVG():计算平均值

仍然以下边的学生信息为例:
在这里插入图片描述
我们要统计这个班级学生的数学平均分:

select avg(math) as '三班数学平均分' from students;

在这里插入图片描述
注意,补充avg函数使用过程中的其他tips:

  1. 可以灵活和where等其他过滤条件组合
  2. avg函数只能计算单列的平均值,函数接受的参数就是列名
  3. 如果需要计算的目标列包含null值,avg函数会忽略该行

COUNT():计数

如果我们想要对表中的行数计算,可以使用count()函数,比如查询某个班级一共有多少人,就可以直接使用这个sql:

select count(*) from students;

在这里插入图片描述
count也可以接收列名作为参数,计算某一列的非空值的数量,比如我们想要查询参加这次数学考试的人数(需要过滤掉空值):

select count(math) from students;

在这里插入图片描述
从上边的例子可以看出,count可以接收两种参数:

  1. *:查询行数,但是不会过滤空值
  2. 列名:查询某一列行数,过滤空值

MAX():求最大值

max()函数用于求最大值,接收的参数也是列名,比如需要找出班级中的数学最高分:

select max(math) from students;

在这里插入图片描述
同样的,max()函数计算的时候也会忽略空值

另外,如果max()函数除了可以找到最大的数值,也可以用于计算最大日期,如果接收的参数列存储的是文本数据,排好序后,max()函数会返回最后一行

MIN():求最小值

找出班级数学最低分:

select min(math) from students;

在这里插入图片描述
min函数的注意事项和max一样,不再赘述,只不过用于求最小

SUM():求和函数

sum() 函数用于求和计算,比如求班级数学分数和(仅举例,虽然很少会有这个场景):

select sum(math) from students;

在这里插入图片描述
sum()函数还可以用来汇总计算值,举个例子,假如想要求出来班级三个科目的分数总和:

select sum(math+gym+en) from students;

在这里插入图片描述
sum()函数也会过滤掉空值

实际上所有的聚合函数都可以接收计算值作为参数,大家可以灵活运用

DISTINCT参数:去重

上边介绍了五个函数,它们的共同特点:

  1. 对所有行计算的时候,可以指定ALL参数(默认)或者不指定参数
  2. 如果需要去重,则可以使用DISTINCT函数

这里我们为了举的例子更加贴合实际场景,需要做一些新的数据准备,我们使用常见的订单场景来创建数据库和表信息:

-- 创建电商数据库
CREATE DATABASE IF NOT EXISTS ecommerce_db 
CHARACTER SET utf8mb4 
COLLATE utf8mb4_unicode_ci;-- 使用数据库
USE ecommerce_db;-- 创建订单表
CREATE TABLE orders (order_id VARCHAR(20) PRIMARY KEY COMMENT '订单号(唯一)',customer_name VARCHAR(50) NOT NULL COMMENT '下单人名称',order_date DATETIME NOT NULL COMMENT '下单时间',amount DECIMAL(10,2) NOT NULL COMMENT '订单金额'
);INSERT INTO orders (order_id, customer_name, order_date, amount) VALUES
('ORD20231010001', '张三', '2023-10-10 09:15:23', 158.50),
('ORD20231010002', '李四', '2023-10-10 11:30:45', 299.00),
('ORD20231010003', '王五', '2023-10-10 14:20:11', 425.75),
('ORD20231011004', '张三', '2023-10-11 10:05:34', 78.90),
('ORD20231011005', '赵六', '2023-10-11 16:45:09', 650.00),
('ORD20231012006', '李四', '2023-10-12 08:30:17', 230.40),
('ORD20231012007', '孙七', '2023-10-12 13:15:28', 345.60),
('ORD20231013008', '王五', '2023-10-13 09:40:55', 99.99),
('ORD20231013009', '张三', '2023-10-13 17:20:03', 512.30),
('ORD20231014010', '周八', '2023-10-14 10:10:10', 188.00),
('ORD20231014011', '李四', '2023-10-14 15:25:47', 276.50),
('ORD20231015012', '吴九', '2023-10-15 11:11:11', 420.00),
('ORD20231015013', '王五', '2023-10-15 14:30:19', 155.75),
('ORD20231016014', '郑十', '2023-10-16 09:00:00', 333.33),
('ORD20231016015', '张三', '2023-10-16 12:45:38', 199.90),
('ORD20231017016', '李四', '2023-10-17 08:05:22', 488.60),
('ORD20231017017', '王五', '2023-10-17 16:20:14', 75.25),
('ORD20231018018', '钱多多', '2023-10-18 10:30:45', 666.66),
('ORD20231018019', '张三', '2023-10-18 14:15:03', 350.40),
('ORD20231019020', '李四', '2023-10-19 09:50:57', 245.80);

在上边的订单表中,存在同一个人有多个订单的场景,如果我们想要统计一共有多少名顾客下过单,可以很容易想到使用count(0函数,但是很明显存在一个人购买多次,存在多个订单记录的情况,所以需要对数据进行去重处理,这里可以根据下单人进行去重:

select count(distinct customer_name) as 下单人数 from orders;

在这里插入图片描述

组合使用

上边的举例都比较单一,实际上一个sql语句是可以同时使用多个聚合函数的,比如下边的场景:

-- 检查重复客户订单
SELECT customer_name AS 客户名称,COUNT(*) AS 订单数量,SUM(amount) AS 总消费金额
FROM orders
GROUP BY customer_name
ORDER BY 订单数量 DESC;

在这里插入图片描述
以上就是关于聚类查询的简单介绍了,下期我们一起学习分组查询!


文章转载自:

http://POtZVpay.gjLmL.cn
http://QdlbvH8z.gjLmL.cn
http://NsyKsEq8.gjLmL.cn
http://n0yxgJTI.gjLmL.cn
http://5d5AgbZM.gjLmL.cn
http://Sqrd1J8D.gjLmL.cn
http://LOr5ON4L.gjLmL.cn
http://ejg0ZB1v.gjLmL.cn
http://M023oelF.gjLmL.cn
http://r8TEVk0J.gjLmL.cn
http://FFqOWFQA.gjLmL.cn
http://2aIjScjm.gjLmL.cn
http://1MKCYvxl.gjLmL.cn
http://SBeL5Ehm.gjLmL.cn
http://7XCxckAG.gjLmL.cn
http://ivaCtRvw.gjLmL.cn
http://WV7H3WSr.gjLmL.cn
http://6KFxG4Aq.gjLmL.cn
http://epmAr9JM.gjLmL.cn
http://RnYWEPEc.gjLmL.cn
http://yE4j6PK7.gjLmL.cn
http://rDoaQMYO.gjLmL.cn
http://Hrhoc9JB.gjLmL.cn
http://SS5JtLDl.gjLmL.cn
http://3OPKHTvs.gjLmL.cn
http://j9HKkzV5.gjLmL.cn
http://70Rqcai9.gjLmL.cn
http://XGMkmT4E.gjLmL.cn
http://LP2A5maI.gjLmL.cn
http://LfZ4K0Gn.gjLmL.cn
http://www.dtcms.com/wzjs/660939.html

相关文章:

  • 网站建设明细报价表在线长链接转短链接
  • 做期货关注网站网站如何做移动适配
  • 服装设计师常用网站专门做app的公司有哪些
  • 商城网站建设价位网上找客户渠道
  • 59网站一起做网店app界面设计开题报告
  • 做汽车网可参考网站品牌建设经验交流材料
  • 教人做甜点的网站门户网站建设目标
  • 高端企业建站公司民治做网站
  • 中壹建设工程有限公司官方网站视觉设计作品
  • 众筹网站开发分析报告专门做装修的网站有哪些
  • 高端网站源码内容营销案例
  • 学校英文网站建设小游戏网页版在线玩
  • rp做网站专做婚纱店设计网站
  • 有没有好的网站wordpress有手机版吗
  • 网站维护与建设ppt杭州网站建设专家
  • 小挑可以做网站吗百度竞价运营
  • 网站推广采用的方法个体做外贸的网站
  • 网站优化成功案例义乌城市建设规划网站
  • 个人博客网站源码莒南做网站
  • 怎么做网站的广告广告设计公司vi设计
  • 网站建设学习 服务器抽奖的网站怎么做
  • 涂料网站模版南昌p2p网站建设
  • 网站红色搭配餐饮小店面装修设计
  • 专做水果的社区网站用花生壳做网站
  • 网站建设方案范本两学一做网站注册
  • 有没有专门发布毕业设计代做网站湘潭网站建设口碑好磐石网络
  • 太仓有专门做网站的地方吗国内免费开源crm系统大全
  • 公司营销型网站制作wordpress服务器要求
  • 公司设计网站建设佛山网站建设公司
  • 太和网站开发招聘网站怎么做微信支付功能