group by聚合小技巧

简介: group by聚合小技巧

sql99和sql92的发展历史


比如表

id name age

1      1        2

1      2        3


通过ID分组,查最大的age,顺便把name查出来

得到的是1 1 3


那个函数查出来的数据就是取的分组后的第一行

不一定会和聚合函数的值同一行


group by必须和select的数据保持强一致,不然带出的数据可能会不正确.


MySQL中的any_value()函数可以让我们绕过sql99的规范,并且约束数据.


嵌套查询用的最多.


WITH AS


WITH AS短语也叫子查询部分,用来定义一个SQL片段,且该SQL片段会被整个SQL语句用到,这个语句算是公用表表达式(CTE)。
eg:


with子句优点


  1. SQL可读性增强。比如对于特定with子查询取个有意义的名字等。
  2. with子查询只执行一次,将结果存储在用户临时表空间中,可以引用多次,增强性能。


with子句语法


Withalias_nameas (select1), --as和select中的括号都不能省略alias_name2as (select2),--后面的没有with,逗号分割,同一个主查询同级别地方,with子查询只能定义一次如查询销售部门员工的姓名:withaas(selectidfroms_deptwherename=Salesorderbyid)
selectlast_name,titlefroms_empwheredept_idin (select*froma);--使用select查询别名


目录
相关文章
使用mongo聚合分组查询获取每一组的时间最大的一条数据
使用mongo聚合分组查询获取每一组的时间最大的一条数据
1131 0
|
SQL 分布式计算 Spark
如何在Spark中实现Count Distinct重聚合
Count Distinct是SQL查询中经常使用的聚合统计方式,用于计算非重复结果的数目。由于需要去除重复结果,Count Distinct的计算通常非常耗时。本文主要介绍在Spark中如何基于重聚合实现交互式响应的COUNT DISTINCT支持。
|
SQL 分布式计算 Java
聚合操作_groupBy_聚合操作 | 学习笔记
快速学习聚合操作_groupBy_聚合操作
131 0
聚合操作_groupBy_聚合操作 | 学习笔记
|
存储 SQL
ES聚合查询详解(三):指标聚合
ES聚合查询详解(三):指标聚合
330 0
ES聚合查询详解(三):指标聚合
|
缓存 索引
ES聚合查询详解(一)
ES聚合查询详解(一)
631 0
|
SQL 关系型数据库 MySQL
aggregate | 在R中进行分组统计
aggregate | 在R中进行分组统计
191 0
|
分布式计算 Spark
【Spark 应用】实现分组取topN
【Spark 应用】实现分组取topN
204 0
|
数据挖掘 开发者 索引
分组与聚合|学习笔记
快速学习 分组与聚合
152 0