Mysql Group by 使用解析

使用gruop by 分组

1. 方式一:select name from table1 group by name; 注意:group by 两侧都应该含有name,例如select country,name from table1 group by country,name;左右两侧是相同的数据。
2. 方式二:select name,count(age) from table1 group by name;注:当使用聚合函数的时候,不用放到group by 后面

distinct 使用

1. distinct可以用于筛选不重复的数据
2. 只能放置在select后面第一个单词的位置,例如:select distinct name from table1;
3. 如果是多个参数,那么只有在多个参数不同的情况下,才算数据不同,例如select distinct name,age from table1; 此时name age 两个都相同的时候,才算是重复数据,仅有一个数据相同不是重复数据。

原文地址:https://www.cnblogs.com/liruijia/p/Mysql-Group-by-shi-yong-jie-xi.html

时间: 2024-10-27 12:55:11

Mysql Group by 使用解析的相关文章

mysql group by 用法解析(详细)

在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值.其原因是 distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,我只有用二重循环查询来解决,而 这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的.所以我花了很多时间来研究这个问题,网上也查不到解决方案 下面先来看看例子:

mysql group by 用法解析

group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表.SELECT子句中的列名必须为分组列或列函数.列函数对于GROUP BY子句定义的每个组各返回一个结果.某个员工信息表结构和数据如下:  id  name  dept  salary  edlevel  hiredate       1 张三 开发部 2000 3 2009-10-11      2 李四 开发部 2500 3 2009-10-01      3 王五 设计部 2600 5 2010-

MySQL Group Replication调研剖析

一.MySQL复制的三种模式 MySQL当前存在的三种复制模式有:异步模式.半同步模式和组复制模式,先了解一下三种模式的工作方式. 1.MySQL Asynchronous Replication(异步复制) 异步复制是MySQL最早的也是当前使用最多的复制模式,异步复制提供了一种简单的主-从复制方法,包含一个主库(master)和备库(一个,或者多个)之间,主库执行并提交了事务,在这之后(因此才称之为异步),这些事务才在从库上重新执行一遍(基于statement)或者变更数据内容(基于row)

转:mysql group by

group by 用法解析 group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表. SELECT子句中的列名必须为分组列或列函数.列函数对于GROUP BY子句定义的每个组各返回一个结果. 某个员工信息表结构和数据如下:   id  name  dept  salary  edlevel  hiredate        1 张三 开发部 2000 3 2009-10-11       2 李四 开发部 2500 3 2009-10-01       3

Mysql group by top N的问题

在日常工作中,经常要查询分组的前几名.oracle中可以通过row_num来支持查询,mysql暂时不支持row_num.那么如何来完成这个需求呢? 例如: 表中的数据: +--------+-------+-----+ | Person | Group | Age | +--------+-------+-----+ | Bob | 1 | 32 | | Jill | 1 | 34 | | Shawn | 1 | 42 | | Jake | 2 | 29 | | Paul | 2 | 36 |

MySQL group replication介绍

"MySQL group replication" group replication是MySQL官方开发的一个开源插件,是实现MySQL高可用集群的一个工具.第一个GA版本正式发布于MySQL5.7.17中:想要使用group replication只需要从官网上下载MySQL5.7.17及以后的版本即可 group replication发布以后,有3种方法来实现MySQL的高可用集群: ①:异步复制 ②:半同步复制 ③:group replication ---注意: 异步复制是

Mysql Group Replication 简介及单主模式组复制配置【转】

一 Mysql Group Replication简介 Mysql Group Replication(MGR)是一个全新的高可用和高扩张的MySQL集群服务. 高一致性,基于原生复制及paxos协议的组复制技术,以插件方式提供一致数据安全保证: 高容错性,大多数服务正常就可继续工作,自动不同节点检测资源征用冲突,按顺序优先处理,内置自动防脑裂机制: 高扩展性,自动添加移除节点,并更新组信息: 高灵活性,单主模式和多主模式.单主模式自动选主,所有更新操作在主进行:多主模式,所有server同时更

mysql group by的特殊性

SELECT create_year, userno , sum(sal) FROM user GROUP BY userno 以上语句,在oracle 或sql server肯定是语法错误  因为group by 少了 create_year,在mysql中却能正常执行, 因为: mysql group by userno类似去重复,默认保留create_year第一条,所以保留的是by userno下面create_year第一条,记录的sum(sal) 参考:http://zhidao.b

19个MySQL性能优化要点解析

19个MySQL性能优化要点解析 以下就是跟大家分享的19个MySQL性能优化主要要点,一起学习学习. 1.为查询优化你的查询 大多数的MySQL服务器都开启了查询缓存.这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的.当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了. 这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的.因为,我们某些查询语句会让MySQL不使用缓存.请看下面的示例: //