当前位置: 首页 > news >正文

北京改网站百度推广怎么使用教程

北京改网站,百度推广怎么使用教程,做公司网站注意什么,广东深圳MySQL中distinct和group by去重的区别 在MySQL中,我们经常需要对查询结果进行去重,而DISTINCT和GROUP BY是实现这一功能的两种常见方法。虽然它们在很多情况下可以互换使用,但它们之间还是存在一些差异的。接下来,我们将通过创建测…

MySQL中distinct和group by去重的区别

请添加图片描述

在MySQL中,我们经常需要对查询结果进行去重,而DISTINCTGROUP BY是实现这一功能的两种常见方法。虽然它们在很多情况下可以互换使用,但它们之间还是存在一些差异的。接下来,我们将通过创建测试数据和执行不同的查询来探讨这两种方法的区别。

目录

  1. 创建测试数据
  2. DISTINCT使用
  3. [GROUP BY使用](#GROUP BY使用)
  4. [distinct和group by的区别](#distinct和group by的区别)
  5. 总结

创建测试数据

首先,我们创建一个测试表pageview,并插入一些数据:

SQL代码:

-- 创建测试表
DROP TABLE IF EXISTS pageview;
CREATE TABLE pageview (id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '自增主键',aid BIGINT NOT NULL COMMENT '文章ID',uid BIGINT NOT NULL COMMENT '(访问)用户ID',createtime DATETIME DEFAULT NOW() COMMENT '创建时间'
) DEFAULT CHARSET='utf8mb4';-- 添加测试数据
INSERT INTO pageview(aid, uid) VALUES(1, 1);
INSERT INTO pageview(aid, uid) VALUES(1, 1);
INSERT INTO pageview(aid, uid) VALUES(2, 1);
INSERT INTO pageview(aid, uid) VALUES(2, 2);

DISTINCT使用

DISTINCT的基本语法如下:

SELECT DISTINCT column_name, column_name FROM table_name;

单列去重

根据aid(文章ID)去重:

SQL代码:

SELECT DISTINCT aid FROM pageview;

多列去重

根据aiduid联合去重:

SQL代码:

SELECT DISTINCT aid, uid FROM pageview;

聚合函数+去重

使用DISTINCT+聚合函数计算aid去重之后的总条数:

SQL代码:

SELECT COUNT(DISTINCT aid) FROM pageview;

GROUP BY使用

GROUP BY的基础语法如下:

SELECT column_name, column_name FROM table_name 
GROUP BY column_name;

单列去重

根据aid去重:

SQL代码:

SELECT aid FROM pageview GROUP BY aid;

DISTINCT相比,GROUP BY可以显示更多的列,而DISTINCT只能展示去重的列。

多列去重

根据aiduid联合去重:

SQL代码:

SELECT aid, uid FROM pageview GROUP BY aid, uid;

聚合函数 + GROUP BY

统计每个aid的总数量:

SQL代码:

SELECT aid, COUNT(*) FROM pageview GROUP BY aid;

distinct和group by的区别

查询结果集不同

使用DISTINCT去重时,查询结果集中只有去重列信息。而使用GROUP BY可以查询一个或多个字段。

使用业务场景不同

统计去重之后的总数量需要使用DISTINCT,而统计分组明细或在分组明细的基础上添加查询条件时,就得使用GROUP BY

性能不同

如果去重的字段有索引,那么GROUP BYDISTINCT都可以使用索引,此情况下它们的性能是相同的。而当去重的字段没有索引时,DISTINCT的性能可能会高于GROUP BY,因为在MySQL 8.0之前,GROUP BY有一个隐藏的功能会进行默认的排序,这样就会触发filesort从而导致查询性能降低。

总结

大部分场景下DISTINCT是特殊的GROUP BY,但二者也有细微的区别,比如它们在查询结果集上、使用的具体业务场景上,以及性能上都是不同的。了解这些差异可以帮助我们根据实际需求选择更合适的方法。

http://www.dinnco.com/news/86618.html

相关文章:

  • 泰和网站建设网站seo优化运营
  • 软件app网址怎么找上海百度seo公司
  • 临海高端网站设计新感觉建站公众号运营收费价格表
  • 怎样做直销网站深圳网站建设公司排名
  • 专做进口批发的网站2021拉新推广佣金排行榜
  • 云南网站备案搭建一个网站的流程
  • 安卓市场官方版app下载seo网站优化方案
  • 昆明网站建设首选互维长沙网站推广智投未来
  • 网站建设 需求分析报告自媒体营销的策略和方法
  • 橙子建站是什么东西成人职业技能培训学校
  • 中国室内设计培训排名百度seo标题优化软件
  • 哈尔滨百度关键词优化信息流优化师职业规划
  • 班级设计网站建设sem是什么?
  • 做网站维护的收入怎么确认河北网站seo地址
  • 深圳微信分销网站建设百度网站的域名地址
  • 舞阳专业做网站最新资讯热点
  • phpmysql网站开发笔记要看网的域名是多少
  • 成品网站建设咨询网站优化排名软件
  • 网站中英文切换代码大庆建站公司
  • wordpress phone主题seo分析师招聘
  • 婚恋网站女孩子做美容郑州网站建设价格
  • 怎么做网站结构拓扑图海外推广
  • 大型资讯门户网站怎么做排名物联网开发
  • 乌鲁木齐大型网站建设宽带推广方案
  • 网站建设公司优惠大酬宾活动网络关键词排名软件
  • 网站建设高端网页设计疫情最新消息今天公布
  • 网页设计与网站建设05在线测试新媒体运营培训学校
  • 国外装饰公司网站专门看广告的网站
  • 辽宁工程建设信息网站西安今日头条新闻消息
  • 中建国际建设有限公司官网seo网站排名优化公司