// 分组查询和聚合函数
        // 分组查询 : 将指定字段中的数据,按照不同的具体数值,进行分组
        //           数据相同的分在一个分组中
        //           一个分组中存储多条数据,实际只显示条数据
        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. 有用的JavaScript技巧

    首次为变量赋值时务必使用var关键字 变量没有声明而直接赋值得话,默认会作为一个新的全局变量,要尽量避免使用全局变量. 使用===取代== ==和!=操作符会在需要的情况下自动转换数据类型.但===和 ...

  2. 【GDKOI 2024 TG Day2】不休陀螺(top) 题解

    考虑一个卡牌区间怎样才不是"陀螺无限". 一个是费用在打到一半时费用就不够了.考虑构造一个卡牌序列使其尽量能够在打到一半时费用就不够,如何构造呢? 把 \(a_i > b_i ...

  3. 力扣541(java)-反转字符串Ⅱ(简单)

    题目: 给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符. 如果剩余字符少于 k 个,则将剩余字符全部反转.如果剩余字符小于 2k ...

  4. 力扣61(java&python)-旋转链表(中等)

    题目: 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置. 示例1: 输入:head = [1,2,3,4,5], k = 2 输出:[4,5,1,2,3] 示例2: 输 ...

  5. Fluid 助力阿里云 Serverless 容器极致提速

    简介: 本文展示了一个在 ASK 环境中运行 Fluid 的完整数据访问示例,希望能够帮助大家了解 Fluid 的使用体验.运行效果以及 Serverless 和数据密集型应用结合的更多可行性. 作者 ...

  6. 云小蜜 Dubbo3.0 实践:从微服务迁移上云到流量治理

    ​简介:阿里云-达摩院-云小蜜对话机器人产品基于深度机器学习技术.自然语言理解技术和对话管理技术,为企业提供多引擎.多渠道.多模态的对话机器人服务.17 年云小蜜对话机器人在公共云开始公测,同期在混合 ...

  7. 深入理解云计算OpenAPI体系

    ​简介: 就云计算的API来看,当前并没有类似POSIX这样的API标准,基本上各大厂商各自为政.当然,有一些业界主流标准例如OAS获得多数云厂商的支持,但云厂商本身的API却往往由于历史原因.技术路 ...

  8. [SVG] JS 动态加载 svg 修改 svg 属性

    svg 概念一览: https://javascript.ruanyifeng.com/htmlapi/svg.html加载 svg: // for example: $('body').load(' ...

  9. gin框架获取参数

    目录 httpext包 获取header头里的参数: scene := httpext.GetHeaderByName(ctx, "scene") // online / dev ...

  10. LVS负载均衡(6)--LVS调度算法详解

    目录 1. LVS调度算法详解 1.1 静态调度算法 1.1.1 RR调度算法 1.1.2 WRR调度算法 1.1.3 SH调度算法 1.1.4 DH调度算法 1.2 动态调度算法 1.2.1 LC调 ...