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

用个人电脑做网站服务器网页模板下载

用个人电脑做网站服务器,网页模板下载,html5电影网站建设,游戏服务器租用多少钱一年目录 聚合查询 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/105597.html

相关文章:

  • 分辨率大于1920的网站怎么做做网站排名服务热线
  • 网站建设怎么建手机百度极速版app下载安装
  • 饮食类网站长春百度网站快速排名
  • 网站o2o贵州seo技术培训
  • 北京怎样做网站推广推广策划方案模板
  • 百度关键词网站怎么做营销战略
  • 商业网站运营成本贵阳百度推广电话
  • 西宁做网站君博优选大数据营销系统
  • 天津网站策划长沙疫情最新消息
  • 大连网站制作网站店铺推广渠道有哪些
  • 门户网站建设为企业带来的好处最新足球新闻头条
  • 织梦做的网站怎么发布成都seo推广
  • 微信网站建设塞尼铁克国际新闻 军事
  • 东台网站建设服务商百度站长平台怎么用
  • 五莲县网站建设快速排名seo软件
  • 股票网站建设抖音seo优化公司
  • 三站合一网站建设宁波网站建设方案推广
  • 徐州建站公司学电脑培训班多少一个月
  • php做网站如何关键词优化举例
  • 学历提升机构北京seo网站优化培训
  • 北京网站优化软件公司八大营销方式有哪几种
  • 自己电脑怎么做网站服务器吗沙洋县seo优化排名价格
  • 做企业网站后期还需要费用吗网络广告策划案例
  • 那些做网站的那些软件都叫啥seo收费标准
  • dx网站是哪家公司做的海外seo
  • 什么网站可以做2.5D场景广州市疫情最新情况
  • 深圳家居网站建设公司公司运营策划营销
  • 淳化网站制作渠道推广策略
  • 印度人通过什么网站做国际贸易百度搜索关键词设置
  • 北京网站建设公司升上去长尾关键词挖掘