精华内容
下载资源
问答
  • 聚合函数

    2020-02-18 16:29:35
    聚合函数 说明 常见的聚合函数有 Count,Max,Min,Sum,Avg这五个 使用这些函数需要aggregate来调用。 返回值是一个字典 从下面返回的那些结果可以看见,字典的键的命名是属性名+聚合函数名 使用示例 函数 ...

    聚合函数

    • 说明

      1. 常见的聚合函数有 Count,Max,Min,Sum,Avg这五个
      2. 使用这些函数需要aggregate来调用。 返回值是一个字典
      3. 从下面返回的那些结果可以看见,字典的键的命名是属性名+聚合函数名
    • 使用示例

      函数使用示例说明结果
      MaxBook.objects.all().aggregate(Max(‘book_id’))查询书籍编号中最大的一个{‘book_id__max’: 6}
      MinBook.objects.all().aggregate(Min(‘book_id’))查询书籍编号中最小的一个{‘book_id__min’: 1}
      CountBook.objects.all().aggregate(Count(‘book_id’))按照书籍编号计算一共有多少本书book_id__count’: 6}
      AvgBook.objects.all().aggregate(Avg(‘book_id’))计算书籍编号的平均值{‘book_id__avg’: Decimal(‘3.5000’)}
      SumBook.objects.all().aggregate(Sum(‘book_id’))计算所有书籍编号的和{‘book_id__sum’: Decimal(‘21’)}

      另外的一个函数不是属于聚合函数的,和ordey_by差不多的类型

      函数使用示例说明结果
      countBook.objects.filter(book_id__gte=3).count()计算书籍编号大于等于3的有多少4
    • 两者的区别

      1. 函数是小写。
      2. 返回值只是一个数字,不是字典
    展开全文
  • Oracle聚合函数

    千次阅读 2016-11-19 13:15:41
    1.聚合函数 聚合函数就是同时对一组进行操作,对每组行返回一行输出结果,这就是与单行函数的不同,聚合函数有时候也可以叫分组函数 2.常用的聚合函数 (1)avg(x):返回x的平均值 (2)count(x):返回一个包含x...

    1.聚合函数
    聚合函数就是同时对一组进行操作,对每组行返回一行输出结果,这就是与单行函数的不同,聚合函数有时候也可以叫分组函数
    2.常用的聚合函数
    (1)avg(x):返回x的平均值
    (2)count(x):返回一个包含x的查询返回的行数
    (3)max(x):返回x的最大值
    (4)min(x):返回x的最小值
    (5)median(x):返回x的中间值
    (6)stddev(x):返回x的标准差
    (7)sum(x):返回x的和
    (8)variance(x):返回x的方差
    3.使用聚合函数时需要注意的事情
    (1)聚合函数中可以使用任何有效的表达式
    (2)可以使用distinct关键字进行重复记录的去除
    (3)避免使用count(*),因为count()在返回结果时需要的时间可能会更长,相反应该使用表中的某一列或者伪列rowid,rowid中包含了该行在oracle中存储的位置
    (4)max和min函数可以用于任何的数据类型,日期啊,字符串啊等等,使用max函数时,字符串会按照字母表顺序排序,字符串的最大值位于列表的底部,最小值位于列表的顶部,日期最大值就是最迟的日期,最小值就是最早的日期
    (5)group by子句可以将行进行分组,其中可以按照多列进行分组
    (6)可以将行组传递给聚合函数,聚合函数对每组中的行进行计算,并且为每个行组都返回一个值
    (7)在group by子句中可以使用任意的聚合函数,不必将group by中用到的列包含在select之后的列列表中,order by 中也可以包含聚合函数调用
    (8)如果查询中包含了聚合函数,选择的列不在聚合函数中,那么这些列就必须在group by子句中,否则就会报错ora-00937
    (9)在where子句中不能使用聚合函数来限制行
    (10)where子句只能用单行而不是行组进行过滤,如果要对行组进行过滤,就必须使用having关键字
    (11)having子句可以用来过滤行组,可以放在group by子句之后,其中group by和having子句不可以一起使用,但是having子句必须与group by使用(按照聚合函数的结果过滤行时必须使用having子句)
    (12)where和group by子句可以在同一个查询中一起使用,当这样使用的时候,where子句先对返回的行进行过滤,然后group by子句对剩下的行进行分组
    (13)where和group by 和having子句可以在同一查询中一起使用,当这样使用的时候,where子句先对返回的行进行过滤,然后group by子句对剩下的行进行分组,然后having子句对行组进行过滤

    在这里插入图片描述

    展开全文
  • having聚合函数

    2020-06-03 09:25:06
    同样是条件语句,针对的是聚合函数的。 和where的区别,可以使用别名,但能用在select 里没有出现的字段,出现在group by函数之后 ...聚合函数表达式作为条件语句时,必须使用having能用where ...

    同样是条件语句,针对的是聚合函数的。
    和where的区别,可以使用别名,但不能用在select 里没有出现的字段,出现在group by函数之后
    可以把聚合函数作为条件。
    select dept_id,round(avg(salary),2) as ‘平均薪资’
    from tb_emp
    group by dept_id
    having count(dept_id)>=3

    聚合函数表达式作为条件语句时,必须使用having不能用where

    展开全文
  • hive内嵌UDAF函数: 聚合函数使用详解

    万次阅读 2018-03-06 23:36:43
    聚合函数是hive内置函数,聚合函数对一组值执行计算,并返回单个值。在Hive的聚合中,如果某个聚合列的值中有null,则包含该null的行将在聚合时被忽略除,了 COUNT 函数以外。为了避免这种情况,可以使用COALESCE来...

    1.什么是聚合函数

            聚合函数是hive内置函数,聚合函数对一组值执行计算,并返回单个值。 在Hive的聚合中,如果某个聚合列的值中有null,则包含该null的行将在聚合时被忽略除,了 COUNT 函数以外。为了避免这种情况,可以使用COALESCE来将null替换为一个默认值。 聚合函数经常与 SELECT 语句的 GROUP BY 子句一起使用。换句话说使用聚合函数时,一个列字段要不在group by里,要不必须在聚合函数里面,否则报错。

          hive中所有的内嵌函数:Hive所有内嵌函数wiki

               下面是hive中自带的内置聚合函数列表,蓝色为常用:

    返回类型

    函数名

    描述

    BIGINT

    count(*)

    count(expr)

    count(DISTINCT expr[, expr_.])

    count(*) – 返回检索到的行的总数,包括含有NULL值的行。count(expr) – 返回expr表达式不是NULL的行的数量count(DISTINCT expr[, expr]) – 返回expr是唯一的且非NULL的行的数量

    DOUBLE

    sum(col)

    sum(DISTINCT col)

    对组内某列求和(包含重复值)或者对组内某列求和(不包含重复值)

    DOUBLE

    avg(col),

    avg(DISTINCT col)

    对组内某列元素求平均值者(包含重复值或不包含重复值)

    DOUBLE

    min(col)

    返回组内某列的最小值

    DOUBLE

    max(col)

    返回组内某列的最大值

    DOUBLE

    variance(col),

    var_pop(col)

    返回组内某个数字列的方差

    DOUBLE

    var_samp(col)

    返回组内某个数字列的无偏样本方差

    DOUBLE

    stddev_pop(col)

    返回组内某个数字列的标准差

    DOUBLE

    stddev_samp(col)

    返回组内某个数字列的无偏样本标准差

    DOUBLE

    covar_pop(col1, col2)

    返回组内两个数字列的总体协方差

    DOUBLE

    covar_samp(col1, col2)

    返回组内两个数字列的样本协方差

    DOUBLE

    corr(col1, col2)

    返回组内两个数字列的皮尔逊相关系数

    DOUBLE

    percentile(BIGINT col, p)

    返回组内某个列精确的第p位百分数,p必须在0和1之间

    array<double>

    percentile(BIGINT col, array(p1 [, p2]...))

    返回组内某个列精确的第p1,p2,……位百分数,p必须在0和1之间

    DOUBLE

    percentile_approx(DOUBLE col, p [, B])

    返回组内数字列近似的第p位百分数(包括浮点数),参数B控制近似的精确度,B值越大,近似度越高,默认值为10000。当列中非重复值的数量小于B时,返回精确的百分数

    array<double>

    percentile_approx(DOUBLE col, array(p1 [, p2]...) [, B])

    同上,但接受并返回百分数数组

    array<struct {'x','y'}>

    histogram_numeric(col, b)

    使用b个非均匀间隔的箱子计算组内数字列的柱状图(直方图),输出的数组大小为b,double类型的(x,y)表示直方图的中心和高度

    array

    collect_set(col)  超常用

    一般配合concat_ws使用

    返回消除了重复元素的数组,去重

    array

    collect_list(col)  超常用

    一般配合concat_ws使用

    返回允许重复元素的数组,不去重

    INTEGER

    ntile(INTEGER x)

    该函数将已经排序的分区分到x个桶中,并为每行分配一个桶号。这可以容易的计算三分位,四分位,十分位,百分位和其它通用的概要统计

    2.常用聚合函数使用演示

    1. 个数统计函数: count

    语法: count(*), count(expr), count(DISTINCT expr[, expr_.])

    返回值: int

    说明: count(*)统计检索出的行的个数,包括NULL值的行;count(expr)返回指定字段的非空值的个数;count(DISTINCTexpr[, expr_.])返回指定字段的不同的非空值的个数

    举例:

    hive> select count(*) from lxw_dual;

             20

    hive> select count(distinct t) fromlxw_dual;

            10

    2. 总和统计函数: sum

    语法: sum(col), sum(DISTINCT col)

    返回值: double

    说明: sum(col)统计结果集中col的相加的结果;sum(DISTINCT col)统计结果中col不同值相加的结果

    举例:

    hive> select sum(t) from lxw_dual;

             100

    hive> select sum(distinct t) fromlxw_dual;

             70

    3. 平均值统计函数: avg

    语法: avg(col), avg(DISTINCT col)

    返回值: double

    说明: avg(col)统计结果集中col的平均值;avg(DISTINCT col)统计结果中col不同值相加的平均值

    举例:

    hive> select avg(t) from lxw_dual;

               50

    hive> select avg (distinct t) fromlxw_dual;

                30

    4. 最小值统计函数: min

    语法: min(col)

    返回值: double

    说明: 统计结果集中col字段的最小值

    举例:

    hive> select min(t) from lxw_dual;

            20 

    5. 最大值统计函数: max

    语法: max(col)

    返回值: double

    说明: 统计结果集中col字段的最大值

    举例:

    hive> select max(t) from lxw_dual;

             120 

    6.非空集合总体变量函数: var_pop

    语法: var_pop(col)

    返回值: double

    说明: 统计结果集中col非空集合的总体变量(忽略null

    3.聚合函数使用注意事项

    1.聚合条件--HAVING,从Hive0.7.0开始HAVING被添加到Hive作为GROUP BY结果集的条件过滤。HAVING可以作为子句的替代。

    hive> SELECT sex_age.age FROM employee GROUP BY sex_age.age HAVING count(*) >=1;

    2.聚合函数经常与 SELECT 语句的 GROUP BY 子句一起使用。换句话说使用聚合函数时,一个列字段要不在group by里,要不必须在聚合函数里面,不能单独出现,否则报错。

    1.只有聚合函数,没有group by ,没问题
    hive (default)> select sum(a),count(distinct b)  from fdm_sor.tmp_aaaaa;
       OK
       2	1
    2.有聚合函数,又有别的列c,但是没有用group by,报错
    hive (default)> select sum(a),count(distinct b) ,c   from fdm_sor.tmp_aaaaa;
    FAILED: SemanticException [Error 10025]: Line 1:33 Expression not in GROUP BY key 'c'
    
    3.聚合函数配合group by 一起使用
    select sum(a),count(distinct b) , c from fdm_sor.tmp_aaaaa  group by c;
    OK
    2	1	2019-05-22 21:23:34
    
    

    3.常用的collect_list与collect_set的使用,区别就是前者不去重,后者去重
       collect_list,与collect_set的使用,这个使用好处就是可以轻松明白group by的原理,因为collect_list这个函数可以将分组后不可见的其他字段的情况以数组的形式展示出来,比如这里用filter_name分组,通过collect_list函数可以清晰地看到每个filter_Name组里的path_id的情况,并对些组里的字段进行统计分析

    3.1演示1

     select filter_name ,
            collect_list(path_id),
            collect_set(path_id),
            concat_ws('@',collect_list(path_id)) a,
            concat_ws('@',collect_set(path_id)) b,
            concat_ws('@',collect_set(market_type)) c
    
    from FDM_SOR.T_FIBA_MULTI_UBA_CFG_PATH_DETAIL_D 
    where path_id >89
    group by filter_name 

    结果如下:

    3.2 演示2对分组进行计算

     select filter_name ,
            collect_list(path_id),
            collect_set(path_id),
            concat_ws('@',collect_list(path_id)) a,
            concat_ws('@',collect_set(path_id)) b,
            concat_ws('@',collect_set(market_type)) c
    
    from FDM_SOR.T_FIBA_MULTI_UBA_CFG_PATH_DETAIL_D 
    where path_id >89
    group by filter_name
    having  count(path_id)>3 --按filter_name分组,且要求每个分组里的path_id的个数大于3个。
    ---having是对分组后每组进行统计的。

    展开全文
  • sql中聚合函数和分组函数 SQL has many cool features and aggregate functions are definitely one of these features, actually functions. While they are not specific to SQL, they are used often. They are...
  • MySQL 聚合函数

    千次阅读 2018-12-06 16:00:53
    以下是我们经常要用的一些聚合函数,请谨慎使用,注意sql_mode 模式设置对查询结果的影响,如果sql_mode=' ',那么:select create_time,test_name,max(moneys) from test_table group by test_name; 查询报错,但...
  • sql的聚合函数

    2017-04-07 16:22:16
    聚合函数是对一组值执行计算并返回单一的值的函数   1. AVG 返回指定组中的平均值,空值被忽略。     2. COUNT 返回指定组中项目的数量。 !!!使用时尽量不要用count(*)   3. MAX 返回指定数据的最大值。 ...
  • 我在测试自己的UDAF(用户自定义聚合函数)的时候发现...在使用GROUP BY的情况下使用SUM会汇总整个表,仅留下一条记录,该记录属于LIMIT。 所以我们应该这样来查询。 select sum(a) from (select a from csdk5000w OR
  • 聚合函数和group by

    千次阅读 2013-11-05 17:46:51
    聚合函数: sql语言中一种特殊的函数:聚合函数,SUM, COUNT, MAX, MIN, AVG等。这些函数和其它函数的根本区别就是它们一般作用在多条记录上。 SELECT SUM(population) FROM COUNTRY  这里的SUM作用在所有返回记录的...
  • 理解 group by 和聚合函数

    千次阅读 2019-04-26 09:19:39
    用了好久group by,为什么能够select * from Table group by id,为什么一定能是*,而是某一个列或者某个列的聚合函数,group by 多个字段可以怎么去很好的理解呢? =========正文开始===========  先来看下...
  • sql 聚合函数有哪些

    千次阅读 2017-09-22 15:56:48
    聚合函数是对一组值执行计算并返回单一的值的函数,它经常与SELECT语句的GROUP BY子句一同使用,SQL SERVER 中具体有哪些聚合函数呢?我们来一一看一下:1. AVG 返回指定组中的平均值,空值被忽略。 例:select prd_...
  • 聚合函数和Group by

    千次阅读 2017-06-15 12:00:10
    聚合函数: sql语言中一种特殊的函数:聚合函数,SUM, COUNT, MAX, MIN, AVG等。这些函数和其它函数的根本区别就是它们一般作用在多条记录上。SELECT SUM(population) FROM COUNTRY 这里的SUM作用在所有返回记录的...
  • 窗口函数之聚合函数的高级用法(一)

    千次阅读 2017-06-10 17:27:45
    对于聚合函数相信大家都陌生,如SUM、AVG、MIN、MAX等,我们通常的用法是把聚合函数合计的起点从查询结果集开始,也就是说平常用的时候,经常带有OVER子句的。接下来,就扩展下带有OVER子句的聚合函数的一些用法...
  • SQL Server 自定义聚合函数 说明:本文依据网络转载整理而成,因为时间关系,其中原理暂时并未深入研究,只是整理备份留个记录而已。 目标:在SQL Server中自定义聚合函数,在Group BY语句中 ,...
  • 百度知道: 1.类型: “Where”是一个约束声明,在查询数据库的结果返回之前对数据库中的查询条件进行约束,即在结果返回之前起作用,且where后面能使用“聚合...where后面之所以能使用聚合函数是因为where...
  • SQL语言基本操作(聚合函数

    千次阅读 2015-07-23 09:28:23
    一、聚合函数  1、标量函数:只能对单个的数字或值进行计算。主要包括字符函数、日期/时间函数、数值函数和转换函数这四类。如LEFT/RIGHT/SUBSTRING/LTRIM/RTRIM/CONCAT/UPPER/LOWER/NOW/CURRENT_DATE/DATE_FORMAT/...
  • 聚合函数,group by

    2011-08-22 16:41:47
    聚合函数: sql语言中一种特殊的函数:聚合函数,SUM, COUNT, MAX, MIN, AVG等。这些函数和其它函数的根本区别就是它们一般作用在多条记录上。 SELECT SUM(population) FROM COUNTRY 这里的SUM作用在所有...
  • oracle聚合函数汇总

    千次阅读 2018-02-24 13:02:54
    今天在做项目,讲mysql项目转换为oracle项目的时候,发现某些sql语句兼容 mysql语句如下 SELECT COLUMN1, group_concat(SHOUYILV ORDER BY CRETE_DATE) AS SHOUYILV FROM RCONFIGDATA WHERE column2 =...
  • count()聚合函数正确用法

    千次阅读 2019-04-23 09:59:00
    count()是聚合函数,对于返回的结果集,一行行地判断,累计值加1,最后返回累计值,count(*)、count(主键ID)和count(1)表示返回满足条件的结果集的总行数。 count()聚合函数统计非NULL与NULL值的区别: 1、...
  • 聚合函数:Aggregate 函数计算从列中取得的值,返回一个单一的值。 常用的有: AVG():取数值字段平均值 COUNT():返回行数 count(字段名):用于返回指定列的值的数目,null计入; count(distinct 字段名):返回...
  • 本文为图神经网络学习笔记,讲解学习聚合函数 GraphSAGE。
  • 在表达式中使用内置报表函数和聚合函数 (Reporting Services) ...数值字段的默认聚合函数是 SUM。在“表达式”对话框的“常见函数”中,选择类别“聚合”可以选择其他函数。 当报表数据和报表布局在运行时组合在
  • 聚合函数是对一组值执行计算并返回单一的值的函数,它经常与SELECT语句的GROUP BY子句一同使用,SQL SERVER 中具体有哪些聚合函数呢? 1. AVG 返回指定组中的平均值,空值被忽略。  例:select prd_no,avg(qty) ...
  • concat聚合函数查询 select * from node where tenant_id=1166220750772899840 and tree_id=1166221500655734785 and CONCAT(name,fields) like '%水果%'; 普遍or查询 select * from node where tenant_id=...
  • SQL Server汇总数据之聚合函数与分组

    千次阅读 2015-12-25 23:31:27
    主要用于对数据集的的数据进行汇总统计等操作,基本是聚合函数。 聚合的基本理念:不是返回所有指定的行,而是返回一行计算得到的值(前面指定的行 ...在SQL查询的逻辑流程中,聚合函数是在From子句和Where子句之后执
  • MySql聚合函数max()

    2019-10-29 20:04:11
    字段id和在group by列的非聚合字段tel的取值是相对独立的 。  id仅仅是根据name分组后,取每个name对应的的最大id,tel对其没有任何影响,该部分sql等效:select name,max(id) from test group by name.  tel...
  • sql中有聚合函数,group by的时候,聚合...所以,根据某个字段(如最大值)去取的某一行的数据时,能有2个以上的聚合函数一起用。 除非,想获得的数据可以不是同一行的。 转载于:https://www.cnblogs.com/...
  • Django 数据聚合函数:annotate

    千次阅读 2018-01-27 09:44:12
    annotate 方法在底层调用了数据库的数据聚合函数,下面使用一个实际的数据库表来帮助我们理解 annotate 方法的工作原理。在 Post 模型中我们通过 ForeignKey 把 Post 和 Category 关联了起来,这时候它们的数据库表...
  • Django之数据聚合函数 annotate

    千次阅读 2018-05-17 20:50:00
    annotate 方法在底层调用了数据库的数据聚合函数,下面使用一个实际的数据库表来帮助我们理解 annotate 方法的工作原理。在 Article 模型中我们通过 ForeignKey 把 Article和 Category 关联了起来,这时候它们的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 48,830
精华内容 19,532
关键字:

不属于聚合函数的是