首页 > 其他分享 >DQL-聚合函数和DQL-分组查询

DQL-聚合函数和DQL-分组查询

时间:2022-09-29 10:44:18浏览次数:48  
标签:COUNT 聚合 sex 分组 math student DQL SELECT

DQL-聚合函数

将一列数据作为一个整体,进行纵向的计算。

1.count:计算个数

  一般选择非空的列:主键

  count(*)

2.max:计算最大值

3.min:计算最小值

4.sum:计算和

5.avg:计算平均值

注意:聚合函数的计算,排除null值。

  解决方案:

    选择不包含非空的列进行计算

SELECT COUNT(english) FROM student;
SELECT COUNT(IFNULL(english,0)) FROM student;
SELECT COUNT(id) FROM student;

-- 数学成绩的最大和最小
SELECT MAX(math) FROM student;

SELECT MIN(math) FROM student;

-- 求和
-- 数学成绩的和
SELECT SUM(math) FROM student;

-- 求平均值
SELECT AVG(math) FROM student;

DQL-分组查询

1.语法:group by 分组字段;

2.注意:

  分组之后查询的字段:分组字段、聚合函数

  where和having的区别:

    where在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来

    where后不可以跟聚合函数,having可以进行聚合函数的判断

- -  按照性别分组,分别查询男、女同学的平均分

SELECT sex,AVG(math) FROM student GROUP BY sex;

 - - 按照性别分组,分别查询男、女同学的平均分,人数

SELECT sex,AVG(math),COUNT(id) FROM student GROUP BY sex;

  - - 按照性别分组,分别查询男、女同学的平均分,人数  要求:分数低于70分的人,不参与分组

SELECT sex,AVG(math),COUNT(id) FROM student WHERE math>70 GROUP BY sex;

 - - 按照性别分组,分别查询男、女同学的平均分,人数  要求:分数低于70分的人,不参与分组,分组之后,人数要大于2个人

SELECT sex,AVG(math),COUNT(id) FROM student WHERE math>70 GROUP BY sex HAVING COUNT(id)>2;

标签:COUNT,聚合,sex,分组,math,student,DQL,SELECT
From: https://www.cnblogs.com/wsfj/p/16740630.html

相关文章

  • HCIA链路聚合
    modemanualload-balance 手工负载分担模式下所有活动接口都参与数据的转发,分担负载流量。    LACP模式支持链路备份。捆绑建议248链路带宽较均衡一个eth-trunk......
  • 使用Linux命令sort及uniq对文件或屏幕输出进行分组统计
    【转载】:https://blog.51cto.com/hanzhichao/3436177  在日常Linux操作常常需要对一些文件或屏幕数次中重复的字段进行分组统计。另外分组统计也是常考的面试题之一。......
  • DQL-条件查询-模糊查询和约束-概述
    DQL-条件查询-模糊查询 运算符: >,<,<=,>=,=,<> BETWEEN...AND IN(集合) LIKE占位符:_单个任意字符%多......
  • 498排序查询和499聚合函数
    排序查询语法:orderby子句orderby排序字段一,排序方式一,排序字段二,排序方式二SELECT*FROMstudentORDERBYMATHASC;SELECT*FROMstudentORDERBYMATHDES......
  • 浅谈DDD中的聚合
    简介: 在我看来并不是MVC的基础上增加领域层,使用充血模型,解耦基础服务,我的代码就符合DDD了。作者|李宇飞(菜尊)来源|阿里开发者公众号在我看来并不是MVC的基础上......
  • 聚合函数
    聚合函数:将一列数据作为一个整体进行纵向计算count计算个数一般选择非空的列主键count(*)max计算最大值 min计算最小值sum计算和......
  • es的时间聚合date_histogram
    {//不显示具体的内容"size":0,//聚合"aggs":{//自己取的聚合名字"group_by_grabTime":{......
  • day02 --> (DQL、约束、多表之间的关系、范式、数据库的备份和还原)
    一、DQL:查询语句1.排序查询语法:orderby子句orderby排序字段1排序方式1,排序字段2排序方式2...排序方式:ASC:升序,默认DESC:降序注意:如果有多个排序条件,则当前......
  • 【mongo 系列】聚合知识点梳理
    什么是聚合数据?我们先来看看是是聚合数据数据聚合(DataAggregation)是指合并来自不同数据源的数据。.聚类也称聚类分析,亦称为群集分析,是对于统计数据分析的一门技术,在......
  • mysql分组后选出最大值所在的那一行数据
    背景mysql中使用groupby进行分组后取某一列的最大值,我们可以直接使用MAX()函数来实现,但是如果我们要取最大值所在的那一行或多行(可能有多行对应的最大值都一样)那么我们需......