网站流量日志分析--统计分析--sql补充扩展--group by 语法限制解析|学习笔记

简介: 快速学习网站流量日志分析--统计分析--sql补充扩展--group by 语法限制解析

开发者学堂课程【大数据分析之企业级网站流量运营分析系统开发实战(第四阶段)网站流量日志分析--统计分析--sql补充扩展--group by 语法限制解析】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/696/detail/12229


网站流量日志分析--统计分析--sql补充扩展--group by 语法限制解析


1、group by

group by 字段有两个要求出现在表达式中字段要么是分组的字段,要么是被聚合函数包围应用的字段。

2、表有两个字段一个是姓名一个是城市表名字是 t_user(name,city)。

name

city

allen

beijing

tom

shanghai

kobe

beijing

james

beijing

anna

shanghai

 

3、需求统计每个城市的人有多少

select count (name) from t_ user group by city;确定关键字统计

sql 执行时底层是根据城市分组北京是一个分组上海来自于另外一个分组

allen

beijing

kobe

beijing

james

beijing


tom

shanghai

anna

shanghai

count 表达式应用于各个组内针对于第一组反回3条记录针对于第二组返回2条记录最终反馈两个数字一个是3,一个是2,三个人和两个人分别是哪个城市city 是分组的字段不会报错

Select city, count (name) from t_user group by city;

出现在表达式中字段要么是分组的字段,要么是被聚合函数作用包围的字段。

allen

beijing

kobe

beijing

james

beijing

 

tom

shanghai

anna

shanghai

还是分为两组city, count (name) 表达式应用每个分组中不会出现歧义返回的结果是 beijing3,shanghai2,显示人数和 city 名

4、需求还想看一下每个城市的具体的人是谁叫什么名字

Select name, count (name) from t_user group by city;

如果输入 name就会报非法引用的错误name 引用不合法

把数据分为两个组每个组内得到三个表达式不能将 name 字段多个聚在一起写name 不是分组字段就会发生歧义如果是分组字段相同的才会来到同一分组根据 city 分组是北京的才会进入一个组根据名字分组不是相同的名字属于不同的组消除歧义聚合函数指的是输入多行输出一行的函数不管输入几行被聚合函数应用完之后输出一行就可以消除歧义比如针对 name 做 count 统计不管有几行用聚合函数就会返回一行也可以消除歧义不可能在一个表达式中出现不同的结果在 name 中显示不同的东西这是歧义因此 group by 才有这样的语法规则要不然把它放在分组中保证分组一样要不然被聚合函数应用是否放在分组中要结合具体的环境具体的业务确定它的出现是否会改变分组的结果这就是 group by 的限制和具体的解释

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
7月前
|
SQL 数据可视化 关系型数据库
MCP与PolarDB集成技术分析:降低SQL门槛与简化数据可视化流程的机制解析
阿里云PolarDB与MCP协议融合,打造“自然语言即分析”的新范式。通过云原生数据库与标准化AI接口协同,实现零代码、分钟级从数据到可视化洞察,打破技术壁垒,提升分析效率99%,推动企业数据能力普惠化。
562 3
|
11月前
|
SQL 关系型数据库 MySQL
凌晨2点报警群炸了:一条sql 执行200秒!搞定之后,我总结了一个慢SQL查询、定位分析解决的完整套路
凌晨2点报警群炸了:一条sql 执行200秒!搞定之后,我总结了一个慢SQL查询、定位分析解决的完整套路
凌晨2点报警群炸了:一条sql 执行200秒!搞定之后,我总结了一个慢SQL查询、定位分析解决的完整套路
|
11月前
|
SQL 算法 数据挖掘
【SQL周周练】:利用行车轨迹分析犯罪分子作案地点
【SQL破案系列】第一篇: 如果监控摄像头拍下了很多车辆的行车轨迹,那么如何利用这些行车轨迹来分析车辆运行的特征,是不是能够分析出犯罪分子“踩点”的位置
292 15
|
12月前
|
SQL 关系型数据库 MySQL
【MySQL】SQL分析的几种方法
以上就是SQL分析的几种方法。需要注意的是,这些方法并不是孤立的,而是相互关联的。在实际的SQL分析中,我们通常需要结合使用这些方法,才能找出最佳的优化策略。同时,SQL分析也需要对数据库管理系统,数据,业务需求有深入的理解,这需要时间和经验的积累。
412 12
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
SQL 数据库 开发者
ClkLog埋点分析系统支持自定义SQL 查询
本期主要为大家介绍ClkLog九月上线的新功能-自定义SQL查询。
ClkLog埋点分析系统支持自定义SQL 查询
|
SQL 存储 数据可视化
手机短信SQL分析技巧与方法
在手机短信应用中,SQL分析扮演着至关重要的角色
|
SQL 安全 流计算
Flink SQL 在快手实践问题之Group Window Aggregate 中的数据倾斜问题如何解决
Flink SQL 在快手实践问题之Group Window Aggregate 中的数据倾斜问题如何解决
321 1
|
前端开发 Java JSON
Struts 2携手AngularJS与React:探索企业级后端与现代前端框架的完美融合之道
【8月更文挑战第31天】随着Web应用复杂性的提升,前端技术日新月异。AngularJS和React作为主流前端框架,凭借强大的数据绑定和组件化能力,显著提升了开发动态及交互式Web应用的效率。同时,Struts 2 以其出色的性能和丰富的功能,成为众多Java开发者构建企业级应用的首选后端框架。本文探讨了如何将 Struts 2 与 AngularJS 和 React 整合,以充分发挥前后端各自优势,构建更强大、灵活的 Web 应用。
261 0
|
SQL 数据采集 数据挖掘
为什么要使用 SQL 函数?详尽分析
【8月更文挑战第31天】
376 0