// 分组查询和聚合函数
        // 分组查询 : 将指定字段中的数据,按照不同的具体数值,进行分组
        //           数据相同的分在一个分组中
        //           一个分组中存储多条数据,实际只显示条数据
        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. Vue3.0里为什么要用 Proxy API 替代 defineProperty API

    一.Object.defineProperty 定义:Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象 为什么能实现响应式 ...

  2. numpy函数向量化,np.vectorize

    import numpy as np import time def myfunc(a, b): if a>b: return a-b else: return a+b vfunc = np.v ...

  3. Flink 如何实时分析 Iceberg 数据湖的 CDC 数据

    简介: 数据湖的架构中,CDC 数据实时读写的方案和原理 本文由李劲松.胡争分享,社区志愿者杨伟海.李培殿整理.主要介绍在数据湖的架构中,CDC 数据实时读写的方案和原理.文章主要分为 4 个部分内容 ...

  4. 通用的 AI prompt 实操技巧

    1. 提供清晰.具体的目标在 Prompt 中明确指出你希望 AI 辅助完成的具体任务,包括要实现的功能.遵循的标准.适用的技术栈等. 2. 提供足够的上下文提供与任务相关的背景信息.现有代码片段.接 ...

  5. [FAQ] crontab 执行curl xxx 好像没有执行 ?

      如果你的crontab任务中的curl命令没有执行,可能有几个原因需要检查: 1. 检查命令路径:确保你在crontab任务中指定了正确的curl命令路径.你可以使用 which curl 命令来 ...

  6. [Ethereum] Gas Station Network (GSN) eip-1613 与 Gas Relay Network (GRN) eip-1077

    在 Ethereum dapp 中,任何涉及状态改动的交易都需要消耗 Gas,这限制了很多没有钱包或者 ETH 的用户对 dapp 的采用. 理念 让非以太用户能够访问智能合约 (如dapps),允许 ...

  7. Region-区域(默认和新增)适配器

    Prism内置了几个区域适配器 ContentControlRegionAdapter ItemsControlRegionAdapter SelectorRegionAdapter ComboBox ...

  8. WinDbg 加载 dotnet core 的 sos.dll 辅助调试方法

    本文告诉大家如何加载 .NET Core 或 .NET 5 的 sos.dll 文件到 WinDbg 的方法 和 .NET Framework 或 dotnet core 2.0 不相同的是,当前的 ...

  9. 2019-11-29-dotnet-代码调试方法

    title author date CreateTime categories dotnet 代码调试方法 lindexi 2019-11-29 8:50:0 +0800 2019-6-5 9:4:4 ...

  10. ChatGPT,我的 .NET 应用该选择哪种日志框架?

    When using .NET 6, compare different main stream third-party logging packages, and give suggestions ...