位置: 编程技术 - 正文

MySQL中distinct与group by语句的一些比较及用法讲解

编辑:rootadmin

推荐整理分享MySQL中distinct与group by语句的一些比较及用法讲解,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

在数据表中记录了用户验证时使用的书目,现在想取出所有书目,用DISTINCT和group by都取到了我想要的结果,但我发现返回结果排列不同,distinct会按数据存放顺序一条条显示,而group by会做个排序(一般是ASC)。 DISTINCT 实际上和 GROUP BY 操作的实现非常相似,只不过是在 GROUP BY 之后的每组中只取出一条记录而已。所以,DISTINCT 的实现和 GROUP BY 的实现也基本差不多,没有太大的区别,同样可以通过松散索引扫描或者是紧凑索引扫描来实现。 那DISTINCT 和GROUP BY哪个效率更高? DISTINCT操作只需要找出所有不同的值就可以了。而GROUP BY操作还要为其他聚集函数进行准备工作。从这一点上将,GROUP BY操作做的工作应该比DISTINCT所做的工作要多一些。 但实际上,GROUP BY 效率会更高点,为什么呢?对于DISTINCT操作,它会读取了所有记录,而GROUP BY需要读取的记录数量与分组的组数量一样多,也就是说比实际存在的记录数目要少很多。

下面来看MySQL中distinct及group by的一些用法分享。

1.测试一

用distinct过滤掉两列都相同的记录

返回

2.测试二将表student的数据改为如下:

返回如下,说明distinct后面有多于一列的字段时,只有每列的值完全相同才过滤

3.测试三

group by按两列同时分组

group by按两列同时分组,同时在后面加上having的条件

MySQL中distinct与group by语句的一些比较及用法讲解

返回c 2

4.测试四关于group by后面limit的测试

经过以上两个测试可以看出,如果sql语句中含有limit,limit是对用group by进行分组,并进行相关计算以后的limit操作,而不是对limit后面的指定记录数进行分组,从n那一列的数据每一行的值都大于就可以看出来。

5.测试五用以下的两种形式的distinct均可以得到相同的记录数,写法不一样,结果是一样的。

6.测试六field singername is string,max(singername),如果singername有些列为空,有些列不为空,则max(singername)取非空的值,如果一列为zxx,一列为lady,则取zxx,按字母顺利取的。

7.Sql语句中where,group by,order by及limit的顺序

8.关于group by与count的问题如果sql语句中含有group by,则最好不要将count sql转换为select count(*) from xxx,否则select与from之间的字段很有可能是后面要使用的,例如

mysql 数据库死锁原因及解决办法 死锁(Deadlock)所谓死锁:是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去

mysql数据库锁的产生原因及解决办法 数据库和操作系统一样,是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对

批量 kill mysql 中运行时间长的sql KILL语法KILL[CONNECTION|QUERY]thread_id每个与mysqld的连接都在一个独立的线程里运行,您可以使用SHOWPROCESSLIST语句查看哪些线程正在运行,并使用KILLthread_id语

标签: MySQL中distinct与group by语句的一些比较及用法讲解

本文链接地址:https://www.jiuchutong.com/biancheng/319726.html 转载请保留说明!

上一篇:MySQL中distinct语句的基本原理及其与group by的比较

下一篇:mysql 数据库死锁原因及解决办法(mysql 死锁处理)

  • 三公经费指的是什么
  • 所得税费用税前扣除项目
  • 公司购买金蝶属于什么费用
  • 发票开错对方已抵扣怎么处理
  • 海关进口发票可以退税吗
  • 制造费用影响当期损益的科目
  • 现金流量表和利润表关系
  • 增值税本期应补退税额为负数怎么处理
  • 存货入账价值计算公式
  • 实收资本认缴制期限
  • 总公司委托分公司开票的委托书
  • 委托加工收回后直接销售的消费税
  • 收到发票怎么记账
  • 亏损企业股东年底借钱未还
  • 牵引车需要交车船税吗
  • 发票不一致是什么原因
  • 没有道路许可证的车子怎么处罚
  • 员工离职赔偿计入什么科目
  • 长期股权投资账面价值和公允价值不一致
  • 利润表申报本年怎么填
  • 进口货物的关税税率
  • 购入低值易耗品计入什么科目
  • 2019年以后转登记为小规模纳税人有无时间要求?
  • 汇回投资方的现值怎么算
  • 出口业务怎么做分录
  • 成本加成定价法包括()
  • 小规模纳税人采购商品时有可能涉及的会计科目有
  • linux dism
  • 收到老板图片
  • php
  • 公司福利放置零食文案
  • dsm是什么文件
  • vue trim
  • 高温费做账
  • sdhc 速度
  • php preg_quote
  • ios.开发
  • 现金流量表期初现金余额本年累计
  • 税控盘用来干嘛的
  • 猿创部落科技有限公司
  • 尚品汇在哪
  • 人工智能 深度
  • cv计算机视觉定义
  • 程序员 cr
  • 《走进新时代》专栏
  • 旅行社差额征税政策
  • python中numpy数组和列表的区别
  • 三个数排序c语言程序从大到小
  • discuz mysql8.0
  • 公司没有车加油票怎么做账
  • 中介代缴社保费用多少
  • 异地交税怎么交
  • 增值税发票日用品开票明细
  • 未达账项审计调账怎么办
  • 已抵扣认证的发票开红字发票需要将原票退回吗
  • 应交增值税减免税额在借方
  • 销售部门招待费用预算
  • 境外分回的股息在本国抵免限额怎么算
  • 收购溢价会计处理
  • 冲上月暂估入账的 会计分录
  • 个人发票单位能做账用吗
  • 小规模纳税人哪里可以查
  • 企业申请支付宝账号步骤
  • 企业提取盈余公积的比例
  • 敬老院的会计科目
  • mysql进阶之路
  • 还原精灵使用教程
  • linux 维护命令
  • SmoothView.exe - SmoothView是什么进程
  • 系统自带邮件
  • loading and loading
  • 图文详解地理图册电子版
  • python图论算法
  • nodejs xhr
  • 台湾 游戏论坛
  • jquery网页设计作业
  • 如何使用jquery
  • javascript学习指南
  • 宝宝早教一般选什么课程
  • 从国外寄电吉他要多少钱
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设