代码编织梦想

当mysql group by的字段越多,查询的数据量越多,group by 字段越少,查询的数据量越少

首先创建一个测试表table_a

create table table_a(a int, b int, c int, d int);

向表中插入一些数据

insert into table_a(a, b, c, d) values
(1, 10, 20, 30),
(1, 10, 21, 30),
(1, 11, 22, 30),
(1, 11, 23, 30),
(1, 12, 24, 30),
(1, 12, 25, 30),
(2, 13, 26, 30),
(2, 13, 27, 30),
(2, 14, 28, 30),
(2, 14, 29, 30),
(2, 15, 30, 30),
(2, 15, 31, 30)
;

数据插入到table_a表中,查询该表效果如图所示:

select * from table_a;

 当我们只将a字段作为group by的字段时,效果如图所示:

select * from table_a group by a;

 可以看出按照a字段group by 后,其它字段只是取a字段值第一次出现时对应的其它字段的值,例如a=1的时候,b、c、d字段只取10、20、30,而其它数据都丢失了

 当我们只将a、b字段作为group by的字段时,效果如图所示:

select * from table_a group by a, b;

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lx__angel/article/details/129805136

5.mysql group by(不同的字段) 查询出来的数据不一样剖析-爱代码爱编程

desc tb_pushlog_20151201; id int(10) NO PRI auto_increment imei varchar(40) NO MUL imsi varchar(25) NO pushtime datetime NO 0000-00-00 00:00:00 ruleid int(11) YES MUL 0 c

【mysql】mysql group by 多表联查根据最新日期分组-爱代码爱编程

场景是这样的:我需要通过关联多表查询出我想要的数据,然后我可能会根据id或者name之类的字段使用group by 进行分组,分组后我仅想把最新的一条记录显示出来,于是我需要根据数据库里对应数据的创建时间字段进行order by desc,但是如果你不进行嵌套查询的话,Mysql的语法仅支持group by在前,order by 在后,于是你会发现分类后的

mysql查询优化:group by_resemble_的博客-爱代码爱编程

目录 一、group by group by 优化方法 — 索引 松散索引扫描(Loose Index Scan) 为什么松散索引扫描的效率会很高? 紧凑索引扫描(Tight Index Scan) group by 优化方法 — 直接排序 二、group by 与 distinct 三、排序不一致问题 一、group by 当我们执

mysql数据库select查询正常,但group by就什么都查不出来_现实、太残忍的博客-爱代码爱编程

某日,客户说生产环境出现了问题,列表查询不出数据来了(查询的数据为空)。我就去生产数据库,执行查询接口的sql语句。 起初以为查询接口报错了,可是没有报错。难道是数据没有了? 我试探性的把group by去掉,数据居然出现了!再次把group  by加上,又没有了(返回结果集为空)。 上面是一个奇怪的现象。 还有一个就是,生产数据库每天凌晨都用my

mysql --- group by 分组 取最大值,百万数据查询0.8s- 1s_古之恶来的博客-爱代码爱编程

group by 分组 取最大值 网上查询的方法我们想要取出来 u_id分组,z值最大的每一条数据。 我只是筛选了u_id = 1 的数据,此时id为2 的这列数据为最大的数据 方法一: . select

MySQL之——GROUP BY分组取字段最大值-爱代码爱编程

假设有一个业务场景,需要查询用户登录记录信息,其中表结构如下:     CREATE TABLE `tb` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uid` int(11) NOT NULL, `ip` varchar(16) NOT NULL, `login_time` datetime, P

MySQL使用GROUP BY分组时如何留下指定的行-爱代码爱编程

前言 假设有一个存储文章信息的数据表(article),结构如下: 字段名说明id主键IDauthor_id作者IDtitle文章标题content文章内容add_time文章添加时间edit_time文章上一次编辑时间作者和文章是一对多的关系,现在需要从这个表里查出每个作者最近编辑过的一篇文章,那么可以怎么写SQL语句呢? 分析 这个查询有两个条

mysql中groupby会用到索引吗_mysql group by 索引问题-爱代码爱编程

mysql> select k, count(*) c from tbl group by k order by k limit 5; +---+---+ | k | c | +---+---+ | 2 | 3 | | 4 | 1 | | 5 | 2 | | 8 | 1 | | 9 | 1 | +---+---+ 5 rows

mysql分组取出每组地一条数据_基于mysql实现group by取各分组最新一条数据-爱代码爱编程

基于mysql实现group by取各分组最新一条数据 前言: group by函数后取到的是分组中的第一条数据,但是我们有时候需要取出各分组的最新一条,该怎么实现呢? 本文提供两种实现方式。 一、准备数据 二、三种实现方式 1)先order by之后再分组: SELECT * FROM (SELECT * from tb_dept

mysql 大批量数据查询_mysql 处理 多条件 大批量数据 查询-爱代码爱编程

2013-04-27 回答 在我们使用mysql数据库时,比较常用也是查询,包括基本查询,关联查询,条件查询等等,对于同一个操作,sql语句的实现有很多种写法,但是不同的写法查询的性能可能会有很大的差异。这里主要介绍下select查询优化的要点。 1. 使用慢查询日志去发现慢查询。 2. 使用执行计划去判断查询是否正常运行。 3. 总是去测试你

mysql对大量数据查询花费时间_对于Mysql大量数据查询速度慢的问题-爱代码爱编程

1.如果mysql数据量过大,当查询的时候耗时比较长,则会影响页面数据展示。给客户的直观反应的: 点击了某个查询功能,结果等了差不多十几秒才反应出来,这样的体验感太差了。 2.为了增加反应速度。一般来是建立索引,如我现在的查询语句: SELECT aa.INDI_NAME, aa.gg, aa.gp, aa.pn, bb.report_

第六周作业完成,一个半小时-爱代码爱编程

一、JDBC ORM 对象和关系数据库的映射 个人看了之后认为这个知识点可能再jdbc中是最重要的知识点之一,毕竟之前的sql语句的插入仅仅只是利用eclipse简单操作数据库,而ORM才可以真正称得上数据库和java的交互操作,可以通过java的类和方法来实现对数据库操作的函数调用。 这里我们构造方法,通过id查找每个角色的任务  接下来我再写

二级mysql-爱代码爱编程

一、数据库基本知识 数据库相关基本概念 数据(data):描述事物的符号记录。数据加工后成为信息。数据与语义密不可分。 数据库(database,DB):是指长期存储在计算机内的、有组织的、可共享的数据。 数据库管理

mysql ocp888题解064-爱代码爱编程

文章目录 1、原题1.1、英文原题1.2、中文翻译1.3、答案 2、题目解析2.1、题干解析2.2、选项解析 3、知识点3.1、知识点1:通过FLUSH TABLE+拷贝文件+导入表空间的方式进行表