17、MySQL的数据分组

hadoop Pig 0.17.0 操作实例 使用版本 MySQL 5.7.25 Pig 0.17.0 基础操作 新建两个文件存放数据,每个数据间用tab键作分隔符,在末行模式用set list可查看格式 vim tmp_file_1 阅读详情

group by

使用了group by, 就不必指定要计算和估值的每个组了、系统会自动生成
group by 必须出现在where字句之后,order by字句之前
1、创建分组:vend_id为描述字段,不能为计算字段,后面加上计算字段,group by后必须加上所有的描述字段

mysql> select vend_id, count(*) from products group by vend_id;
+---------+----------+
| vend_id | count(*) |
+---------+----------+
|    1001 |        3 |
|    1002 |        2 |
|    1003 |        7 |
|    1005 |        2 |
+---------+----------+

2、创建摘要with rollup

mysql> select vend_id, count(*) from products group by vend_id with rollup;
+---------+----------+
| vend_id | count(*) |
+---------+----------+
|    1001 |        3 |
|    1002 |        2 |
|    1003 |        7 |
|    1005 |        2 |
| NULL    |       14 |
+---------+----------+

3、分组过滤器 having

mysql> select vend_id, count(*) from products group by vend_id with rollup having count(*) > 2;
+---------+----------+
| vend_id | count(*) |
+---------+----------+
|    1001 |        3 |
|    1003 |        7 |
| NULL    |       14 |
+---------+----------+

4、分组和排序

mysql> select order_num, sum(quantity * item_price) from orderitems group by order_num;
+-----------+----------------------------+
| order_num | sum(quantity * item_price) |
+-----------+----------------------------+
|     20005 | 149.87                     |
|     20006 | 55.00                      |
|     20007 | 1000.00                    |
|     20008 | 125.00                     |
|     20009 | 38.47                      |
+-----------+----------------------------+
mysql> select order_num, sum(quantity * item_price) from orderitems group by order_num order by sum(quantity * item_price);
+-----------+----------------------------+
| order_num | sum(quantity * item_price) |
+-----------+----------------------------+
|     20009 | 38.47                      |
|     20006 | 55.00                      |
|     20008 | 125.00                     |
|     20005 | 149.87                     |
|     20007 | 1000.00                    |
+-----------+----------------------------+
mysql> select order_num, sum(quantity * item_price) from orderitems group by order_num having sum(quantity * item_price) > 100 order by sum(quantity * item_price);
+-----------+----------------------------+
| order_num | sum(quantity * item_price) |
+-----------+----------------------------+
|     20008 | 125.00                     |
|     20005 | 149.87                     |
|     20007 | 1000.00                    |
+-----------+----------------------------+

逆序+desc

mysql> select order_num, sum(quantity * item_price) as title from orderitems group by order_num having title > 100 order by title desc;
+-----------+---------+
| order_num | title   |
+-----------+---------+
|     20007 | 1000.00 |
|     20005 | 149.87  |
|     20008 | 125.00  |
+-----------+---------+

分组函数的执行顺序

select–>>from–>>where–>>group by–>>having–>>order by

【MySQL】17-超详细的MySQL聚合函数总结 超详细的MySQL聚合函数总结,以及SELECT语句的语句结构和执行顺序的讲解。 阅读详情

相关推荐

SORT算法在遮挡下总跟丢?深入OC-SORT源码,拆解其三大创新点如何解决卡尔曼滤波的顽疾

本文深入解析OC-SORT算法如何通过三大创新点解决多目标跟踪中的卡尔曼滤波顽疾。OC-SORT引入在线平滑虚拟轨迹技术(OOS)、观测中心动量匹配机制(OCM)和基于最后观测的轨迹恢复(OCR),显著提升了遮挡场景下的跟踪性能。实验数据显示,相比传统SORT算法,OC-SORT在MOT17数据集上MOTA提升5.7%,遮挡恢复成功率提高64.2%,为Multi-Object Tracking领域带来突破性进展。

weixin_42547431的博客 242

mysql千万级数据分组查询_mysql千万级数据量查询出所有重复的记录

查询重复的字段需要创建索引,多个条件则创建组合索引,各个条件的索引都存在则不必须创建组合索引有些情况直接使用GROUP BY HAVING则能直接解决;但是有些情况下查询缓慢,则需要使用下面其他的方法以下是本人整理出来的查询重复数据的SQL,适用于千万级数据量的MYSQL数据库。1.适用于整数类型的SELECT DISTINCT UId FROM vehicle WHERE 1=1 GROUP B...

weixin_36474955的博客 1656

Linux USB设备命名规则

有一个USB设备,接到了Linux系统的终端的某个插口上,那么怎么找到这个设备对应设备路径呢?这个USB设备虚拟了多个功能(三个串口和一个网卡), 如何找到对应操作路径呢?

weixin_43132521的博客 1699

mysql千万级数据分组查询_mysql千万级数据查询

1. mysql 的数据查询 , 大小字段要分开 , 这个还是有必要的 , 除非一点就是你查询的都是索引内容而不是表内容 , 比如只查询 id 等等 2. 查询速度和索引有很大关系也就是索引的大小直接影响你的查询效果 , 但是查询条件一定要建立索引 , 这点上注意的是索引字1.mysql的数据查询,大小字段要分开,这个还是有必要的,除非一点就是你查询的都是索引内容而不是表内容,比如只查询id等等2...

weixin_34462581的博客 3508

计算机视觉:相机模型与参数标定

一、相机投影模型 1、小孔成像 2、相机模型中的四个平面坐标系 3、像主点偏移 4、畸变现象与内参矩阵 5、外参矩阵 二、相机标定:张正友棋盘格标定法 1、张正友棋盘格标定法描述 2、计算外参和内参 2.1 计算单应性矩阵H 2.2 计算内参数矩阵 2.3 计算外参数矩阵 3、实验:MATLAB实现 3.1 实验数据 3.2实验过程 3.3 实验结果 4、实验:OpenCV实现 4.1 实现代码 4.2 实验结果 5、实验分析与总结

DreamWendy的博客 2514

关于光耦隔离与SP3485E芯片一起使用无法拉高485使能引脚问题

最近在做的一个项目,定制了一块STM32F407ZG的工控板,工控板载4个485接口全部都是只能接收数据,不能对外发送数据。1.接线不正确:接线不正确导致485收发出现问题。 2.程序端口初始化问题:控制光耦隔离的输入脚IO的初始化和置位状态有问题。 3.GPIO复用问题:控制对应串口的GPIO不是正点原子默认的GPIO,而是经过复用的其他IO,复用问题。 4.程序设置与485E芯片收发模式不对应:对于使能引脚的电平要根据光耦的输出情况确定输入IO与RE的关系,可能模式没有对应。 5.光耦隔离或者SP485

weixin_45862642的博客 2978

MySQL安装及其简单操作

`mysql mysql 5.7.17 压缩版安装 1、复制 my-default.ini 重命名为my.ini 2、在my.ini中添加以下内容: [client] default-character-set=utf8 [mysqld] basedir = E:\codeProgram\mysql_5.7 datadir = E:\codeProgram\mysql_5.7\...

longge0508的博客 513

【AI编程】Cursor编程工具使用教程:下载、配置、使用、运行Java项目

【AI编程】Cursor编程工具使用教程:下载、配置、使用、运行Java项目

funfan的博客 5198

MySQL题目练习(2)

【代码】MySQL题目练习(2)

weixin_56387846的博客 903

QGis二次开发 —— 1、win10/win11搭建Vs2017-QGis3.40.12环境(附Vs2017环境效果,附全部问题解决方法)(附:Qt助手加入QGis接口说明文档)

QGis二次开发 —— 1、Windows10搭建Vs2017-QGis环境(附Vs2017环境效果)(附:Qt助手加入QGisA接口说明文档)

1362

使用蒙特卡洛模拟方法在MATLAB中估算居里温度: 一个详细而通俗的指南

居里温度是磁性材料失去磁性的温度。但是,计算机模拟为我们提供了一个在理论和实验之间的桥梁,使我们能够在不进行实际测量的情况下估计这一重要参数。在下一部分,我们将详细介绍蒙特卡洛迭代的核心代码,以及如何使用它来模拟磁性材料中原子的行为。在估算居里温度的上下文中,我们将使用蒙特卡洛方法来模拟磁性材料中的原子或分子的行为。通过使用蒙特卡洛方法,我们可以在MATLAB中估算居里温度,从而为理论研究和实验设计提供有价值的信息。:我们使用的是一个有限的尺寸的网格模型,这可能导致一些大小效应,特别是在接近居里温度时。

qq_38334677的博客 979

MySQL分组查询每组最新的一条数据(通俗易懂)

开发中经常会遇到,分组查询最新数据的问题,比如下面这张表(查询每个地址最新的一条记录): sql如下: -- ---------------------------- -- Table structure for test -- ---------------------------- DROP TABLE IF EXISTS `test`; CREATE TABLE...

weixin_38169722的博客 1968

91、Windows网络配置:动态更新与名称解析全攻略

本文全面解析了Windows XP Professional系统中的网络配置方法,重点介绍了动态更新和名称解析两大核心功能。动态更新部分涵盖DHCP客户端、静态配置客户端、远程访问客户端和多宿主客户端的配置方法,并提供禁用动态更新和编辑Hosts文件的注意事项。名称解析部分详细讲解了NetBIOS名称解析的基础知识、WINS配置方法、B节点广播与Lmhosts文件的使用,以及WINS代理的作用和配置要点。通过操作建议流程图和关键操作步骤回顾,帮助用户快速掌握网络配置的核心技巧,适用于不同网络环境的实际需求。

blue42的博客 234

MYSQL之查询按日期分组统计

mysql根据日期按日、周、月、季、年分组查询

嘉禾嘉宁papa 1万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

mysql分组后取前几组_MySQL 分组后取每组前N条数据

MySQL 分组后取每组前N条数据2018-11-7 冰泪 MYSQL与oracle的 rownumber() over(partition by xxx order by xxx )语句类似,即:对表分组后排序创建测试emp表DROP TABLE IF EXISTS emp;CREATE TABLE emp (empno decimal(4,0) NOT NULL,ename var...

weixin_29023471的博客 1054

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

mysql 分组之后数据筛选_MYSQL 如何实现分组后根据组内数据间条件判断进行筛选【高手进,在线等】...

你的位置:问答吧-> 数据库-> 问题详情MYSQL 如何实现分组后根据组内数据间条件判断进行筛选【高手进,在线等】如题数据举例:id istop cid(时间序号) gid(分组)1 1 18 a2 ...

weixin_36002475的博客 2035

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

十、MySQL 聚合函数、分组查询及过滤分组

MySQL 聚合函数、分组查询及过滤分组详解

XAMO Lab|代码、调试与复盘笔记 2906

Mysql分组数据

一、数据分组 数据分组是根据统计研究的需要,将原始数据按照某种标准划分成不同的组别,分组后的的数据称为分组数据。数据分组的方法有单变量值分组和组距分组两种。数据分组的主要目的是观察数据的分布特征,在进行数据分组后再计算出各组中数据出现的频数**,**就形成了一张频数分布表。 二、创建分组 新的子句:GROUP BY 用法:用GROUP BY 指定分组数据 实例: 计算下表每个部门(deptno)的平均年薪(sal×12) +-------+--------+-----------+------+--

Oligizzz 531

mysql分组后可以分页吗_sql数据分组后进行的分页操作

项目中碰到一个统计问题:生产派工单需要按名称进行分组,每一组的“标准工时”和“实际工时”需要进行按组统计。统计后的数据再进行分页显示。截图如下UI图:数据表结构图:为了实现效果 模拟数据如下:create table Test(ID int identity(1,1) primary key not null,ProductName varchar(20),PassCount int,DisPas...

weixin_39524984的博客 2743

mysql 分组取每组前10_MySQL 分组后取每组前N条数据

与oracle的rownumber() over(partition by xxxorder by xxx)语句类似,即:对表分组后排序创建测试emp表DROP TABLE IF EXISTS emp;CREATE TABLE emp (empno decimal(4,0) NOT NULL,ename varchar(10) DEFAULT NULL,job varchar(9) DEFAULT...

weixin_39673601的博客 2349

mysql分组排序取组内第一的数据行获取分组后,组内排名第一或最后的数据行。

不加LIMIT可能会无效,由于mysql的版本问题。但是总觉得这种写法不太正经,因为如果数据量大于Limit 的值后,结果就不准确了。所以就有了第二种写法。group by函数后取到的是分组中的第一条数据,但是我们有时候需要取出各分组的最新一条,该怎么实现呢?还有方式二:(查询create_time 最新的产品记录)-- 查找所有用户的最近失效订单。本文提供两种实现方式。

隔壁老瓦的专栏 8519

mysql分组取出每组地一条数据_MySQL 分组后取每组前N条数据

与oracle的rownumber() over(partition by xxxorder by xxx)语句类似,即:对表分组后排序创建测试emp表DROP TABLE IF EXISTS emp;CREATE TABLE emp (empno decimal(4,0) NOT NULL,ename varchar(10) DEFAULT NULL,job varchar(9) DEFAULT...

weixin_39929377的博客 813

mysql分组聚集_MySQL学习记录--分组与聚集

一、group by 子句group by 字句可对数据进行分组。以MySQL5.5的sakila数据库中的film数据表举例:查找出各个电影等级的电影总数mysql>SELECT rating, COUNT(*) AS ratingCount FROMfilm> GROUP BY rating结果如下:可以看出,group by 子句对其后接的字段进行了分组,而这里也用了聚集函数co...

weixin_36057482的博客 298

Mysql之简单查询select与条件查询,排序以及分组查询,mysql单行函数和分组函数

Mysql之简单查询select与条件查询,排序以及分组查询,mysql单行函数和分组函数

yiuiukk的博客 1277

Mysql 查询分组数据中每组某一数值最大的数据

观察表我们可以看到id为1和12的数据都是2020-04-17加入的,但是两者之间他们的创建时间又有先后顺序的区分,id为12的要早一天,所以我们需要的是id为12的。2. 根据拿取到的每个园区最小的加入时间关联查询,将其和customer表进行关联,按照park_id相等,且用户的加入时间于最小的加入时间min_joined_at相等来拿取对应的数据。所以我们只需要保证将joined_at时间最早的数据排在最前面,当以park_id进行分组操作时,拿到的第一条数据必然是joined_at时间最早的一条。

Daisy的博客 7479

mysql每个分组取前1个

MySQL分组查询与取前1个数据的实践指南 在数据库操作中,我们经常需要对数据进行分组,并从每个分组中提取特定的数据。MySQL提供了强大的分组查询功能,允许我们通过GROUP BY语句对数据进行分组,并使用聚合函数如COUNT()、SUM()、MAX()等进行操作。然而,当我们需要从每个分组中取出前1个数据时,就需要一些...

weixin_36783153的博客 265
上一篇: 16、MySQL的数据汇聚
下一篇: 18、MySQL的子查询(嵌套查询)二层过滤
dingpython
博客等级 码龄6年 5粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值