// 分组查询和聚合函数
        // 分组查询 : 将指定字段中的数据,按照不同的具体数值,进行分组
        //           数据相同的分在一个分组中
        //           一个分组中存储多条数据,实际只显示条数据
        SELECT * FROM `user3` GROUP BY `dep`;
        mysql>         SELECT * FROM `user3` GROUP BY `dep`;
        +----+--------+------+------+------+-------+----------+
        | id | name   | age  | sex  | city | dep   | pay      |
        +----+--------+------+------+------+-------+----------+
        |  5 | Eric   |   23 | 保密  | 北京     | JAVA  |  9000.00 |
        |  1 | 王卓   |   21 | 保密   | 上海    | PHP   | 15000.00 |
        |  4 | 梁晓洁  |   17 | 女    | 北京     | UI/UE |  8000.00 |
        |  2 | Andy   |   27 | 男     | 广州     | WEB   |  9000.00 |
        +----+--------+------+------+------+-------+----------+
        当前是 按照 dep 字段的数据进行分组
        dep当中 数据相同的 会分在同一组别中存储
        显示默认只显示一条数据
            |  5 | Eric   |   23 | 保密  | 北京     | JAVA  |  9000.00 | 
            虽然只显示的是当天这一条数据,实际 在 dpe 是 java 的分组中 存储的是 所有 dep 是 java 的数据
        聚合函数是专门针对 分组中的数据 进行的 数据操作
        COUNT()     计算分组中的数据数据数量
        MIN()       计算分组中数据的最小值
        MAX()       计算分组中数据的最大值
        AVG()       计算分组中数据的平均值
        SUM()       计算分组中数据的总和
        查询每个部门的 平均薪资
        每个部门   按照 部门 `dep` 字段 分组查询  GROUP BY `dep`
        平均薪资   求 平均值 使用 AVG() 聚合函数 
                  薪资  AVG() 中的字段 是 存储薪资的字段 `pay`
        联合查询,需要设定在 SELECT 和 FROM 之前,作为查询内容执行,结果会显示在结果的表结构中
        SELECT 和 FROM 中还需要设定哪个字段,需要看项目需求
        SELECT `dep` , AVG(`pay`) FROM `user3` GROUP BY `dep`;
        求每个部门的平均年龄
        每个部门  按照 部门字段 `dep` 分组 
        平均      聚合函数 AVG()
        年龄      聚合函数()中写 年龄字段 `age`
        SELECT `dep` , AVG(`age`) FROM `user3` GROUP BY `dep`;
        求 每个城市 年龄 在 20-25岁之间 员工人数
        每个城市   按照城市字段分组  GROUP BY `city`
        员工人数   员工人数实际就是数据数量    
                   使用 聚合函数 COUNT() 
                   COUNT() 查询数据数量,一般写 `id` 字段
                   数据简单,不会重复
        年龄在 20 -25 岁之间  `age` >= 20 AND `age` <= 25
                             这是对于字段的约束条件,使用 WHERE 来设定
        先写 WHERE 再写 GROUP BY
        SELECT `city` , COUNT(`id`) as `人数` FROM `user3` WHERE `age` >= 20 AND `age` <= 25 GROUP BY `city`;
                
        显示 20-25岁员工人员数在 10人以上的城市信息
        新增约束条件  员工人数 > 10 
        员工人数 不是某个指定的字段 是 聚合函数的执行结果 
        聚合函数的执行结果,不能使用WHERE来约束,WHERE是约束字段数据的
        聚合函数的约束条件使用 HAVING 来执行
        HAVING 写在 GROUP BY 之后
        SELECT `city` , COUNT(`id`) as `人数` FROM `user3` 
        WHERE `age` >= 20 AND `age` <= 25 
        GROUP BY `city` 
        HAVING COUNT(`id`) > 10 ;
        查询部门最高薪资
        SELECT `dep` , MAX(`pay`) FROM `user3`
        GROUP BY `dep`; 
        查询部门20-25岁人员的最高薪资
        SELECT `dep` , MAX(`pay`) FROM `user3`
        WHERE `age` >= 20 AND `age` <= 25
        GROUP BY `dep`; 
        显示部门20-25岁人员的最高薪资 大于 20K的 部门
        SELECT `dep` , MAX(`pay`) FROM `user3`
        WHERE `age` >= 20 AND `age` <= 25
        GROUP BY `dep`
        HAVING MAX(`pay`) > 20000; 
        复杂查询也是由简单查询语句组合而成
        */
 
/*
            设定查询结果的排序方式
                查询结果,默认按照 id 主键值的 升序 排列
                查询结果,可以按照指定字段的 升序 或者 降序 排列
                SELECT * FROM `表名` ORDER BY `字段` 排序方式
                排序方式 : ASC 升序  默认值可以不写
                          DESC 降序 要设定就必须写
        
        
                按照年龄,从小到大显示员工信息
                SELECT * FROM `user3` ORDER BY `age` ;
                按照薪资排序 从大到小
                SELECT * FROM `user3` ORDER BY `pay` DESC;
                可以同时设定多个字段的排序方式
                先按照第一个字段的排序方式进行排序
                数据相同时,再按照第二个字段排序方式进行排序
                
                先按照 age 字段的 升序排列 
                age 数值相同时 再 按照 `id` 字段的升序排列
                SELECT * FROM `user3` ORDER BY `age` , `id` ;

php分组查询和聚合函数 数据显示的顺序的更多相关文章

  1. MySQL-快速入门(5)数据查询-常用关键字、分组查询、聚合函数

    1.in关键字.in的效率高于or. in (value1,value2,...) 或者not in (value1,value2,...) 2.between ... and ... between ...

  2. MySQL全面瓦解10:分组查询和聚合函数

    概述 相信我们经常会遇到这样的场景:想要了解双十一天猫购买化妆品的人员中平均消费额度是多少(这可能有利于对商品价格区间的定位):或者不同年龄段的化妆品消费占比是多少(这可能有助于对商品备货量的预估). ...

  3. 【SQL基础】【记住重命名】高级查询:聚合函数(四舍五入)、分组过滤、排序、

    〇.概述 1.功能概述 高级查询:聚合函数(四舍五入).分组过滤.排序. 2.建表语句 drop table if exists user_profile; CREATE TABLE `user_pr ...

  4. 【软件实施面试】MySQL和Oracle联合查询以及聚合函数面试总结

    软件实施面试系列文章第二弹,MySQL和Oracle联合查询以及聚合函数的面试总结.放眼望去全是MySQL,就不能来点Oracle吗?之前面过不少公司,也做过不少笔试题,现在已经很少做笔试题了.你肚子 ...

  5. SQL分组查询及聚集函数的使用

    今天要做一个查询统计功能,一开始有点犯难,上午尝试大半天才写出统计sql语句,才发现自己sql分组查询及聚集函数没学好:其实就是group by子句和几个聚集函数,熟练使用统计功能很简单.在此总结下今 ...

  6. SQL——连接查询、聚合函数、开窗函数、分组功能、联合查询、子查询

    连接查询 inner join,用的最多,表示多张表一一对应 聚合函数 操作行数据,进行合并 sum.avg.count.max.min 开窗函数 将合并的数据分布到原表的每一行,相当于多出来了一列, ...

  7. 18 12 06 sql 的 基本语句 查询 条件查询 逻辑运算符 模糊查询 范围查询 排序 聚合函数 分组 分页 连接查询 自关联 子查询

    -- 数据的准备 -- 创建一个数据库 create database python_test charset=utf8; -- 使用一个数据库 use python_test; -- 显示使用的当前 ...

  8. SQL 数据库备、还,附、分,数据查询,聚合函数

    认识数据库备份和事务日志备份 数据库备份与日志备份是数据库维护的日常工作,备份的目的是在于当数据库出现故障或者遭到破坏时可以根据备份的数据库及事务日志文件还原到最近的时间点将损失降到最低点. 数据库备 ...

  9. 【2017-03-12】SQL Sever 子查询、聚合函数

    一.子查询 子查询:把一条查询语句,当做值来使用子句的查询结果必须是一列子句可以返回多行数据,但必须是一列 子句返回的值为一个值的时候: 例如: 我只知道c026这个编号,我要查询比这个车价格低的全部 ...

  10. MongoDB分组查询,聚合查询,以及复杂查询

    准备数据 from pymongo import MongoClient import datetime client=MongoClient('mongodb://localhost:27017') ...

随机推荐

  1. PostgreSQL 14.4的安装以及使用以及一些安装的异常

    PostgreSQL 14的安装以及使用 因为公司的一些要求,可能要换数据库,虽然之前装过,但是版本感觉还是新一点比较好,所以重新装一下 首先下载文件,直接去官网下载就行 https://www.en ...

  2. 力扣73(java)-矩阵置零(中等)

    题目: 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 .请使用 原地 算法. 提示: m == matrix.length n == matrix[0].l ...

  3. 牛客网-SQL专项训练7

    ①SQL语言可以分为多个类别,那么不属于数据操纵语言DML的是(B) 解析: SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL. 1. 数据查询语 ...

  4. MyBatis源码之前言—JDBC编码存在的问题和Mybatis的介绍

    MyBatis源码之前言-JDBC编码存在的问题和Mybatis的介绍 为了方便操作,我们在sjdwz_test数据库下建立一张表: CREATE TABLE `t_student` ( `id` b ...

  5. PeLK:101 x 101 的超大卷积网络,同参数量下反超 ViT | CVPR 2024

    最近,有一些大型内核卷积网络的研究,但考虑到卷积的平方复杂度,扩大内核会带来大量的参数,继而引发严重的优化问题.受人类视觉的启发,论文提出了外围卷积,通过参数共享将卷积的复杂性从 \(O(K^{2}) ...

  6. 基于 Flink CDC 实现海量数据的实时同步和转换

    简介: 徐榜江在 5.21 Flink CDC Meetup 的分享. 摘要:本文整理自 Apache Flink Committer,Flink CDC Maintainer,阿里巴巴高级开发工程师 ...

  7. 网易:Flink + Iceberg 数据湖探索与实践

    导读:今天主要和大家交流的是网易在数据湖 Iceberg 的一些思考与实践.从网易在数据仓库建设中遇到的痛点出发,介绍对数据湖 Iceberg 的探索以及实践之路. 主要内容包括: 数据仓库平台建设的 ...

  8. [FAQ] 英文字母输入时变成了胖体

    如下,在输入法上右键,切换为 "半角" 即可. Link:https://www.cnblogs.com/farwish/p/17513598.html

  9. [GPT] AI大模型背景下,小模型还有优势吗?

      在AI大模型背景下,小的模型仍然具有一些优势. 以下是一些可能的优势: 速度和效率:相比于大模型,小模型需要更少的计算资源和时间,能够更快地完成训练和预测,并且能够在较低的硬件配置上运行. 灵活性 ...

  10. [Docker] 镜像源配置 for Linux

    $ vi /etc/docker/daemon.json { "registry-mirrors": [ "https://docker.mirrors.ustc.edu ...