位置: 编程技术 - 正文

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

  • 年报补交企业所得税如何写会计分录
  • 可以出口的商品
  • 民营医院一般纳税人帐务处理视频税收风险
  • 销售货物收入确认条件
  • 工资与社保的关系怎么写
  • 送货运杂费属于什么费用
  • 开票资料银行必须填写吗
  • 车船税不交怎么办
  • 长期负债率分析
  • 缓缴税款到期缴纳填主表第几行
  • 工会经费的所得税怎么算
  • 加油站冲值加油怎么操作
  • 已认证发票红冲进项税分录
  • 退回的留抵增值税怎么入账
  • 购买脚手架报价单
  • 分期付款方式购物划算吗
  • 资产一次性摊销
  • 机票行业一定要开发票吗?
  • 一般纳税人开技术服务费
  • 审核费用发票需要发票吗
  • 小微企业免征增值税的账务处理
  • 企业预算报表如何做
  • 所得税年报流程
  • 项目工程分包账务
  • 进口报关单是什么样子的
  • 结转存货跌价准备冲减主营业务成本
  • 物业公司物业费都交什么税
  • 宏基aspire v5-573g怎样加运行内存
  • 认定科技型中小企业简单吗
  • 收到某公司的钱的会计分录
  • 如何在Mac上更改我的Apple ID
  • php二维数组的遍历
  • 工地临时设施搭设原则是什么?
  • 固定资产折旧提完后只剩净残值
  • 框架如何使用
  • php照片上传
  • 如何判断公众号是否可靠
  • 前端常见面试
  • c语言二级指针详解
  • 不交社保个税怎么处理
  • 收回多发的工资在上缴财政,可以用应缴财政款科目吗
  • 筹备期间费用怎么做分录
  • 百度怎么自动下载视频
  • python Timer定时器如何使用?
  • 冲红的发票怎么做账会计分录
  • 建设工程的材料质量检测由谁负责
  • SQL Server 2016 CTP2.2安装配置方法图文教程
  • 委托加工物资的成本包括
  • 没有收入如何做账
  • 工商年审中实缴还是虚缴
  • 计提递延所得税资产影响当期利润吗
  • 外贸企业账务处理流程举例讲解
  • 城建税教育费附加和地方教育费附加
  • 预收工程款怎么做账
  • 建设项目财务费用包括哪些
  • 企业外币折算的方法包括
  • 附加税减免需要转营业外收入吗
  • 固定资产处置有净值怎么处理
  • 购买方退货的会计分录怎么写
  • 保险公司的业务分为
  • oracle和sqlserver的区别
  • sql安装不上去
  • winxp怎么做系统
  • linux使用iso镜像
  • 离线安装macos
  • win7怎么开不了机
  • windows10预览版是什么
  • win7系统命令大全
  • win10系统找不到无线网络连接
  • ajax分页查询数据文档效果图
  • cocos2dx视频教程
  • javascript的理解
  • jQuery EasyUI中DataGird动态生成列的方法
  • unity 3渲2
  • js添加一个div
  • 税务总局各司领导名单
  • 企业之间无偿借款是否交税
  • 南京市车位产权证办理流程
  • 城镇土地使用税的计算公式
  • 税收优惠政策有哪些企业
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设