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

用个人电脑做网站服务器关键词搜索引擎工具

用个人电脑做网站服务器,关键词搜索引擎工具,南昌网站推广公司,湘潭做网站 联系磐石网络目录 聚合查询 1. 聚合函数 1.1.1 count函数 1.1.2 sum函数 1.1.3 avg函数 1.1.4 max函数 1.1.5 min函数 2. 分组函数的注意事项: 2.1 事项一 2.2 事项二 2.3 事项三 2.4 事项四 附本节测试SQL 聚合查询 1. 聚合函数 聚合查询又叫函数查询&#xff0…

目录

聚合查询

1. 聚合函数

1.1.1 count函数

1.1.2 sum函数

1.1.3 avg函数

1.1.4 max函数

1.1.5 min函数

2. 分组函数的注意事项:

2.1 事项一

2.2 事项二

2.3 事项三

2.4 事项四

附本节测试SQL


聚合查询

1. 聚合函数

聚合查询又叫函数查询,它是通过⼀些特定的函数根据需求来查询相关的信息,常见的聚合函数有:

COUNT:求总数,不包含某字段为null值

SUM:     求和,不包含某字段为null值

AVG:     求平均值,不包含某字段为null值

MAX:    求最大值,适用于数值、日期、字符串类型,不包含某字段为null值

MIN:     求最小值,适用于数值、日期、字符串类型,不包含某字段为null值

聚合函数的使用是在 selec t语句中实现的,因此它的语法为:

SELECT aggregate_function(column_name) 
FROM table_name
/*
其中,aggregate_function 是聚合函数,可以是诸如 SUM()、AVG()、COUNT()、MAX()、MIN() 等函数;
column_name 是要进行聚合操作的列名;
table_name 是要查询的数据表名。
*/

示例:

创建⼀个名为 score 的课程表:

-- 创建一个课程表score
create table score(
id int,
name varchar(20),
chinese int,
math int,
english int
);-- 插入四行数据
insert into score(id,name,chinese,math,english) values
(1,'张三',77,89,56),
(2,'李四',85,98,32),
(3,'王五',67,75,64),
(4,'赵六',98,93,88);

1.1.1 count函数

count函数我们不难理解,它是用来计数的⼀个函数。通常用来记录⼀个表中的某字段出现的次数。

语法:

SELECT COUNT(column_name) 
FROM table_name
/*
其中,column_name 是要计算行数的列名,可以是具体的列名,也可以是 * 表示计算所有行数;
table_name 是要查询的数据表名。
*/
-- 使⽤count函数通过id计算总⼈数:
select count(id) from score;

通过上述代码,我们可以看到通过count这个函数可以计算到了score表中id字段的总数。

注意这里的总数是字段总个数,如果某⼀行为null则不列入计数总数当中。

1.1.2 sum函数

sum函数,是用来计算总和的函数。

使用sum函数计算score表中chinese成绩的总数:

select sum(chinese) from score;

 我们可以看到,使用sum函数可以很好的求某⼀个字段的总和。

当然在函数的后面也可以加上别名,如给sum(chinese)起别名位total:

select sum(chinese) as total from score;

 通过上述代码我们可以知道,聚合函数的后面是可以起别名的,起别名是通过as这个关键字来起的。

其中as可以省略,但建议加上该关键字这样代码的可读性较高⼀些。

1.1.3 avg函数

avg函数是用来求某⼀字段的平均值,如使用avg函数求english的平均值:

select avg(english) from score;
+--------------+| avg(english) |+--------------+| 60.0000 |+--------------+1 row in set (0.00 sec)

 通过上述代码我们可以看到,avg得到的结果默认保留了4位小数,那我们想要avg保留相应的小数可以这样做:

select round(avg(english),2) as avg from score;
+-------+| avg |+-------+| 60.00 |+-------+1 row in set (0.00 sec)

使用round函数,使得avg的结果保留相应的小数位。在上述程序中,我保留的是2位小数,大家可以根据需求自行设计。

round函数是用来做四舍入⼊操作的,当然你可以规定保留几位小数。

语法为:

select 字段 round(字段,保留位数) from 表名;

1.1.4 max函数

max函数是求得某⼀字段的最大值,如使用max函数求得math成绩的最大值:

select max(math) from score;
+-----------+| max(math) |+-----------+| 98 |+-----------+1 row in set(0.00 sec)

我们可以看到,math字段的最大值98被查询出来了,max函数的用法也是很简单。

1.1.5 min函数

通过上方讲解我们知道了max函数是求最大值的,那么min函数是求得某⼀字段的最小值。

如使用min函数求得english成绩的最小值:

select min(english) from score;
+--------------+| min(english) |+--------------+| 32 |+--------------+1 row in set (0.00 sec)

 通过上述代码可以看到,english字段的最小值32被查找出来了,min函数的使用方法也是比较简单。

2. 分组函数的注意事项:

⾸先,我们创建⼀个简易的薪资表,往后的所有函数也是通过这张表来讲解。

create table Pay(
id int,
name varchar(10),
salary decimal(10,3),
bonus decimal(10,3),
holiday int
);insert into Pay (id,name,salary,bonus,holiday) values
(1001,'Bob',2345.435,800,5),
(1002,'Tom',3454.534,500.435,2),
(1003,'Mimi',5534.565,900,10),
(1004,'Boss',10000,888.666,20),
(1005,'Ggg',2454,300,null);mysql select * from Pay;

 2.1 事项一

在mysql数据库中,在运算时如果某⼀数据为NULL。则最后的结果⼀定是空,但在分组函数进行运算时会自动忽略NULL。

select * from Pay;

 我们可以看到Pay表中假期(holiday)字段有⼀空,那么我对它进行求和会不会造成结果为空呢?

select sum(holiday) test from Pay;
+------+| test |+------+| 37 |+------+1 row in set (0.00 sec)

 我们发现并没有结果为NULL,证实了上⾯那句话,分组函数运算时忽略NULL。

2.2 事项二

分组函数中的count(*)和count(某字段)有什么区别?

count(*)是统计该字段所有数据的计数包括NULL,而count(字段)是统计除NULL以外数据的计数。

select count(*) from Pay;
+----------+| count(*) |+----------+| 5 |+----------+1 row in set(0.00 sec)select count(holiday) from Pay;
+----------------+| count(holiday) |+----------------+| 4 |+----------------+1 row in set (0.00 sec)

 因此,count(*)是通常是用来统计行数的,count(字段)是用来计数某⼀字段除NULL以外的数据。

2.3 事项三

分组函数不得直接使用在where子句中!会提示使用了无效的分组函数 。

如用条件查询找工资最大值:

select name,salary salmax from Pay where salarymin(salary);
--ERROR 1111 (HY000): Invalid use of group function

 2.4 事项四

分组函数可以联合使用,比如我要将员⼯薪资的最小值,最大值,平均值,总和,员工个数显示出来:

select min(salary) salmin,max(salary) salmax,avg(salary) salavg,sum(salary) salsum,count(*) salcou from Pay;

 附本节测试SQL

-- 创建一个课程表score
create table score(
id int,
name varchar(20),
chinese int,
math int,
english int
);-- 插入四行数据
insert into score(id,name,chinese,math,english) values
(1,'张三',77,89,56),
(2,'李四',85,98,32),
(3,'王五',67,75,64),
(4,'赵六',98,93,88);select count(id) from score;select sum(chinese) from score;select sum(chinese) as total from score;select avg(english) from score;select round(avg(english),2) as avg from score;select max(math) from score;select min(english) from score;create table Pay(
id int,
name varchar(10),
salary decimal(10,3),
bonus decimal(10,3),
holiday int
);insert into Pay (id,name,salary,bonus,holiday) values
(1001,'Bob',2345.435,800,5),
(1002,'Tom',3454.534,500.435,2),
(1003,'Mimi',5534.565,900,10),
(1004,'Boss',10000,888.666,20),
(1005,'Ggg',2454,300,NULL);select * from pay;select sum(holiday) test from Pay;select count(*) from Pay;select count(holiday) from Pay;select name,salary salmax from Pay where salarymin(salary);select min(salary) salmin,max(salary) salmax,avg(salary) salavg,sum(salary)salsum,count(*) salcou from Pay;
http://www.dtcms.com/wzjs/287941.html

相关文章:

  • 北京做网站维护今天最新新闻10条
  • 网站建设与维护课程设计报告书网络渠道有哪些
  • 温州做网站制作个人网站设计内容
  • 网站制作一般收费互联网销售平台有哪些
  • 网站建设哪家技术好南昌seo技术外包
  • 鹤岗做网站河北网站建设推广
  • 深圳网站建设公司设计百度新闻下载安装
  • 广州最新今天的消息优化网站推广
  • 贵州 跨境电商网站建设爱站网影院
  • 有什么可以做cad赚钱的网站建站推广
  • 长沙网站运营关键词seo排名优化
  • 英语网站排名竞价推广托管
  • 做旅游网站的目的seo优化网站优化
  • 烟台商机互联做网站吗必应收录提交入口
  • 靠谱个性化网站开发百度优化推广
  • 免费做章子的网站seo搜索引擎优化推广专员
  • 在线定制手机壳福建seo关键词优化外包
  • 湛江网站seoseo网站推广报价
  • 艺术网站定制重庆seo排名技术
  • 深圳网站建设方维游戏推广
  • 深圳市网站建设公司天津最新消息今天
  • 长沙岳麓区网站开发商城推广软文范文
  • wordpress子站共享用户名独立站seo外链平台
  • 松原手机网站开发培训机构是干什么的
  • 自己的网站统计输入词企业培训课程名称大全
  • 南京鼓楼做网站公司广州白云区疫情实时动态
  • 湖北省工程建设协会网站百度指数的搜索指数
  • 新闻录入网站模板网络推广宣传
  • 免费网站建设塔山双喜天津seo实战培训
  • 做模板网站的公司博客网站登录