网站制作学习网→http://www.forasp.cn/→正文:mysql distinct group by 区别
字体:

mysql distinct group by 区别

http://www.forasp.cn/ 2023/3/28 11:25:58  点击:不统计

原文是网站制作学习网的FoAsP.cn

mysql 查询语句中有2个进行分组的,distinct 和group by 它们有什么不同呢
 
1. 首先看功能语法
distinct :
select DISTINCT 字段1,字段2 from 表名 where 条件;
group by:
select 字段1,字段2 from 表名 where 条件 group by 字段1, 字段2
 
先说sql语句功能区别, distinct 是直接取查询字段对应的字段进行分组,所有字段都参与分组。
而gourp by, 在查询字段中可以不参与分组,也可以参与分组。当不参与分组的字段,会取其中一个值(通过测试默认为第一个值)
 
简言之,distinct 可以理解为去重复的;而 group by 可以去重复又可以进行查询
 
 
2. 看distinct group by 效率差异
(1) 在有索引的字段上,两者基本相同的效率
(2) 在无索引的时候,distinct 效率要高于group by

 
3. 使用上的想法如果是单行,多行去重复 建议是用distinct ,最好有索引如果是说定义查询,则用group by .group by更通俗的的理解为分组。同样 最好有索引。

原载于:文章来源:www.forasp.cn网站制作学习

·上一篇:mysql select case >>    ·下一篇:mysql 优化 >>
推荐文章
最新文章