位置: 编程技术 - 正文

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

  • 税控盘抵扣税款
  • 消费税计算时的进项税额
  • 企业所得税核定征收怎么计算
  • 公司优秀党员事迹材料
  • 企业贷款合同签订后多久放款
  • 科技公司技术服务费计入什么科目
  • 研发费用辅助账谁来做
  • 税收专用缴款书
  • 企业应收票据贴现给银行所获得的现金计入现金流量表
  • 虚假会计凭证的处罚
  • 股权转让需要缴纳企业所得税吗
  • 政策性用房包括哪些
  • 个人住房契税2021年收费标准
  • 合作建房的土地出让金在土地增值税中可以加计扣除嘛
  • 金蝶软件怎么设置会计科目
  • 建筑企业增值税预缴
  • 营改增后餐饮业税种
  • 替票是什么和发票的区别
  • 2019新版利润表填表说明
  • 清算结业是什么意思
  • 增值税增量留抵退税政策解读
  • 勒索病毒文件怎么恢复
  • 如何查看系统浏览器记录
  • windows10你需要trustedinstaller提供的权限才能更改
  • 期初未缴纳税额负数
  • 缴纳当月增值税30000元
  • 存货报废会计分录例题
  • 鸿蒙系统怎么设置桌面小组件
  • PHP:Memcached::cas()的用法_Memcached类
  • 土地增值税预征的计征依据=预收款-应预缴增值税税款
  • GrooveMonitor.exe是什么进程?GrooveMonitor.exe可以禁用卸载吗?
  • vue设置时间格式
  • 出售设备收到的现金属于什么活动
  • 史上最贵的微博
  • 农村个体户需要报税吗
  • 日出时的麦克拱岩,俄勒冈南海岸 (© Dennis Frates/Alamy)
  • 企业所得税股息红利所得来源地
  • yii2前后端分离
  • 允许加计扣除的委托境外研发费用
  • php接口技术
  • 常用的php操作mysql的函数有哪些
  • php js
  • vscode入门视频
  • 前端开发从入门到放弃
  • 对数前面有符号怎么计算
  • 退货业务增值税税务处理
  • dpkg-configure-a
  • 残保金交错了怎么办
  • 行政单位其他应付款
  • 处置固定资产科目
  • 注解@entity
  • 建筑企业预缴税率
  • 购买的矿泉水能卖吗
  • 继续教育的相关知识
  • 可供出售金融资产的会计处理
  • 发票冲红字蓝字怎么处理
  • 返还利润含税吗
  • 财税2009年87号文废止
  • 新税法和新准则的关系
  • 在第一周
  • mac怎样解压缩
  • 什么叫另类
  • win10预览版21337
  • putty连接ubuntu
  • linux kill-15
  • win7更改ip地址后有网络无法上网
  • win7打印无反应
  • cocos2dx-3.x(三)、场景切换及可能产生的错误
  • jquery1
  • node web 框架
  • 前端编码规范 性能
  • shell脚本运行linux命令
  • 提高你工作效率的方法
  • Node.js中 __dirname 的使用介绍
  • 安卓手机管家如何卸载
  • 安卓多线程有几种实现方法
  • 煤炭资源税税率减半对上市公司影响
  • 马达加斯加秒懂百科
  • 河南地税申报表怎么填
  • 创新税务稽查方案
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设