位置: 编程技术 - 正文

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

发布时间:2024-01-31

推荐整理分享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 死锁处理)

  • 固定资产待抵扣进项税
  • 关税完税价格计算消费税公式
  • 公司法人和经理承担责任一样吗
  • 库存商品余额在借方
  • 一般纳税人报税流程详细操作
  • 税务信用级别为m级
  • 房产税从租和从价
  • 购入土地使用权以什么为计税依据
  • 个税申报缴费
  • 坏账核销计入营业利润吗
  • 自然人独资企业是什么意思
  • 房地产企业如何进行市场细分
  • 一般纳税人初次购入税控系统的分录怎么做
  • 受赠房产转让可以免个税
  • 在建工程有应交税费吗
  • 应付利润的核算内容
  • 机动车发票申请流程
  • 以前年度做的预算怎么查
  • 短期投资款取消退回计入什么科目?
  • 质量问题用实物形容
  • 买空调交税是谁交税
  • 企业认缴出资怎么做账
  • 车间领用低值易耗品记账凭证
  • 附追索权的应收债权出售的会计处理
  • 离职补偿金如何计算
  • 无形资产的定义和特征
  • 结息的会计分录怎么写
  • win10如何禁用administrator用户
  • 我开了一个物流公司,有人要开发票怎么办
  • php redis实现秒杀思路
  • win10更新kb5005033
  • 塞维利亚是港口吗?
  • 桌面级cpu天梯图快科技
  • php数据库语句
  • 利用php实现开心麻花
  • 无形资产计价原则正确的是
  • 固定资产提足折旧后报废怎么处理
  • 辞退员工补偿标准是n+1还是2n
  • 深度学习&故障诊断初学者 - 学习路线
  • Symfony2创建页面实例详解
  • Web前端开发用什么软件
  • 2018年残保金申报表填表说明
  • php 遍历字符串
  • 论文resit
  • php str
  • php中cookie的值存储在哪
  • 开发票的销售收入,正规的做账怎么做
  • python脚本例子
  • springboot自动配置的注解
  • 公司以现金形式发工资的最好解释
  • 新企业会计准则
  • 汽车租赁业务是否属于租赁服务
  • golang eventbus
  • 小规模所得税怎么计算公式
  • 手续费及佣金支出核算
  • 如何开具通用电子发票
  • 一般纳税人金税盘280怎么做账
  • 无票收入要交企业所得税吗
  • 对方多开票怎么处理
  • 定额备用金怎么做分录
  • 劳务费入什么费用
  • 建筑企业外经证需要准备什么资料
  • 开红字发票如何做分录?
  • 用友t3普及版价格
  • 关于低值易耗品的评估说法正确的有()
  • 餐饮行业月末结转成本怎么算
  • 分公司可以设立公司吗
  • 员工借款计入
  • 怎么设置win7密码
  • 苹果mac双系统怎么删除
  • windows10总是出现打印机错误
  • linux用户相关命令
  • win7系统自带网卡吗?
  • java 解析javascript
  • jQuery用FormData实现文件上传的方法
  • 请不要重复犯我在学习Python和Linux系统上的错误
  • 社保申报后多久缴费
  • 运输发票抵税多少个点
  • 未开票收入下月开票会计分录
  • 国税三所电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号