位置: 编程技术 - 正文

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 死锁处理)

  • 流转税具体的账务处理,可以怎样考虑?
  • 税务局代个人开票
  • 医院固定资产折旧率是多少
  • 行政事业单位房产税免征文件
  • 增值税即征即退会计处理
  • 出口转内销税费
  • 费用利润率计算公式是什么意思
  • 个税中的年金是什么意思
  • 劳务外包要通过应付职工薪酬吗
  • 出售办公用房要交什么税
  • 出租的固定资产计提折旧
  • 通用机打发票现在还有吗
  • 个人所得税企事业单位承包经营所得
  • 减免所得税额和抵免所得税额的区别
  • 某公司为了更好的开展业务
  • 企业在开办期间发生的费用如何处理
  • 二手车没购车发票有影响吗
  • 递延资产主要包括哪些
  • 成立非盈利组织的条件
  • 小规模减免的税额怎么做账
  • 往公户存钱怎么存最划算
  • bios设置内存频率后黑屏
  • 公司过户费用怎么入账
  • 应交税金减免税款
  • wordpress抓取网页
  • php如何自定义函数
  • php deprecated
  • 土地增值税安置房收入的确认原则
  • 销售多余材料的收入会计分录
  • 销售商品的会计分录已收到钱
  • php实现文件的下载
  • 浏览器同源策略限制
  • 数字图像处理实验一实验报告
  • stm32cubeIDE开发串口 修改速率
  • 杀疯了出自哪里
  • 处置固定资产涉税
  • 采购国产设备退税公告
  • 利息支出税前扣除时间
  • 公司给买员工保险
  • python里面init
  • 高铁票的电子发票
  • 企业发生的各项融资费用中,不属于借款费用
  • 企业主营业务收入净额怎么算
  • 所得税汇算清缴退税会计分录怎么做
  • 小微企业所得税优惠政策最新2023
  • 小规模企业其他增值税发票不含税销售额是灰色的
  • 劳保用品专卖
  • 公共电话亭的话费怎么算
  • 委托代销商品的核算
  • 付款金额与发票金额不一致能入账吗?
  • 房屋租赁费可以抵扣吗
  • 职工医保报销会扣医保卡的钱吗
  • 企业给职工发放的自产产品应作为职工福利费管理
  • 什么情况下必须打狂犬疫苗
  • 企业支付宝能买东西吗
  • 增加个税信息怎么增加
  • 记账凭证的填制与审核
  • mysql5624安装教程
  • mysql两个表连接
  • xp系统怎么提升性能
  • windows7播放器无法打开
  • Win7系统如何查看隐藏文件
  • win10系统的电脑
  • mfc界面布局
  • Extjs4 Treegrid 使用心得分享(经验篇)
  • cocos2dx-js
  • javascript中的原型和原型链
  • 对js关键字命名的优点
  • jquery操作dom
  • 安卓核心架构
  • python 正则 \s
  • js如何实现重置功能
  • 力所能及之处,定当竭尽所能
  • 在javascript中如何定义并调用函数
  • js object的原型
  • 专项附加扣除修改后,多扣的税
  • 报销的费用交印花税吗
  • 深圳国家税务总局
  • 福建省国家税务总局稽查局局长
  • 重庆地税局官网公众号
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设