首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Oracle实践|内置函数之聚合函数

    上一个章节学习了数学类的函数,本章节想学习下分析类函数。下面就随着我一起来学习下这个内置函数吧,有解释不到之处,还望批评指正。聚合函数对一组值进行计算,并返回单个值。...在Oracle中,常见的聚合函数有:个数、和、平均数、最大值、最小值等。聚合函数通常是我们分析数据或者统计数据时较为常用。...2 聚合统计函数计数--COUNT这个函数必须常用,可以说每一个项目都不可以缺少的一个函数,却少了这个函数都感觉写的代码没灵魂了。计数函数是计算命中的行数,常常被用作聚合或分析函数。...COUNT(DISTINCT column):计算某一列中不同值的数量,它会跳过重复的值,只计算不同的值,由于DISTINCT会使用排序,所以性能较慢。...【定义】COUNT(DISTINCT column):计算列中唯一值的数量。【使用场景】DISTINCT可以与ORDER BY子句一起使用,以对结果进行排序。例如多次考试,我们只会获取考试通过的一次。

    58700

    【大招预热】—— DAX优化20招!!!

    低效率的DAX会减慢处理速度,阻塞高级容量,增加等待时间,并妨碍刷新和报告加载时间。 在优化DAX之前清除DAX缓存 缓存由内部VertiPaq查询产生。 从DAX Studio中清除缓存。...始终使用DISTINCT()和VALUES()函数 DISTINCT():不返回由于完整性冲突而添加的空白。仅当DISTINCT()函数是原始数据的一部分时,才包含空格。...DISTINCT()和VALUES()函数不同: 在整个报表中,保持DISTINCT()和VALUES()函数的用法一致。 如果没有空白值,Power BI建议使用VALUES()函数。...根据列值使用正确的数据类型 如果一列中只有两个不同的值,请检查是否可以将其转换为布尔数据类型(真/假)。 当您有大量的行时,这可以加快处理速度。...使用COUNTROWS而不是COUNT: 使用COUNT函数对列值进行计数,或者我们可以使用COUNTROWS函数对表行进 行计数。只要计数的列不包含空白,这两个函数将达到相同的结果。

    4.9K31

    SQL聚合函数 COUNT

    DISTINCT - 可选-一个DISTINCT子句,指定COUNT返回表达式的不同(唯一)值的计数。 不能与流字段一起使用。...COUNT(*)以整数形式返回表中行数的计数。 COUNT(*)计数所有行,无论是否存在重复的字段值或NULL值。 COUNT可以在引用表或视图的SELECT查询或子查询中使用。...与所有聚合函数一样,COUNT(expression)可以接受一个可选的DISTINCT子句。 DISTINCT子句只计算那些具有不同(唯一)值的列。...什么是一个不同的值取决于字段的排序; 当字段具有默认的排序规则%SQLUPPER时,字母大小写不同的值将不作为不同的值计算。...COUNT(DISTINCT BY(col2) col1)计数不同的col2值的col1值; 但是,不同的col2值可以包含一个NULL作为不同的值。

    4.2K21

    「干货」Hive常用10大应用技巧『Hive系列2』

    将较大的表放在inner join操作符的右侧,可以提高查询效率,执行速度快,不容易出现计算内存溢出错误。...不仅会影响自己的产出速度,还会占用过多资源,影响整个集群的使用。...07 distinct与group by的区别「计数场景」 在去重计数场景中,我们经常应用count(distinct)来进行处理;有时也会先在内层通过group by聚合,然后再在外层计数count(...原理:distinct需要将col列中的全部内容都存储在一个内存中,可以理解为一个hash结构,key为col的值,最后计算hash结构中有多少个key即可得到结果。...如果我们只需要取几条探查一下表数据,通常通过limit限制查询的条数,而当where中除分区外没有其他过滤条件时,是不会生成Map/Reduce,数据即可输出,提升效率。

    1.9K10

    第二篇 -COUNT DISTINCT:SPL轻量级文件存储提速查询实践

    SQL 中的去重计数 COUNT DISTINCT 一直比较慢。去重本质上是分组运算,需要把遍历过的分组字段值都保持住,用于后续的比对。结果集太大时,还要把数据写到硬盘上做缓存,性能低下。...SPL 代码 11:A2 中游标的 group 函数就是采用有序分组方式,归并相邻且相同的 user_id。group函数的@1 选项表示每组只取第一条记录,这样就不用建立分组子集了。...SQL 是这样:select count(distinct case when event_type = 1 then user_id end) as count1, count(distinct...SPL 代码 12:icount 是去重计数,加 @o 选项就是有序去重计数,也是只合并相邻且相同的值。...2、思考:是否遇到过去重或者去重计数比较慢的情况?是否可以用有序去重来提速?

    12110

    SQL语句汇总(三)——聚合函数、分组、子查询及组合查询

    聚合函数: SQL中提供的聚合函数可以用来统计、求和、求最值等等。...执行列、行计数(count): 标准格式 SELECT COUNT(计数规范>) FROM 其中,计数规范包括: - * :计数所有选择的行,包括NULL值; - ALL 列名:计数指定列的所有非空值行...,如果不写,默认为ALL; - DISTINCT 列名:计数指定列的唯一非空值行。...DISTINCT即去重,如果不加DISTINCT则结果为表行数——5。 返回列合计值(SUM): 注:sum只要ALL与DISTINCT两种计数规范,无*。...其他的例子均只对一张表进行操作,为非相关子查询。 需要注意的是相关子查询主查询执行一回,子查询就执行一回,十分耗费时间,尤其是当数据多的时候。

    5.9K30

    MySQL的count()函数及其优化

    很简单,就是为了统计记录数 由SELECT返回 为了理解这个函数,让我们祭出 employee_tbl 表 ? ? ?...注意:由于 SQL 查询对大小写不敏感,所以在 WHERE 条件中,无论是写成 ZARA 还是 Zara,结果都是一样的 count(1),count(*),count(字段)区别 count(1)和count...执行效果: count(1) and count(*) 当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count()用时多了!...用1代表代码行,在统计结果的时候,不会忽略列值为NULL count(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示null)的计数,即某个字段值为NULL...对于MyISAM表的COUNT()无需消耗太多资源,但对于Innodb,就没有这种元数据,CONUT(*)执行较慢。

    1.3K10

    MySQL 怎么用索引实现 group by?

    分组计数(字段值不为 NULL 才进行计数) if (!...在读取数据时,min()、max() 用 group by 字段值作为分组前缀;count(distinct)、sum(distinct)、avg(distinct) 用 group by 字段值 +...聚合函数中的字段值作为分组前缀。...MySQL 把紧凑索引扫描中使用的顺序读取记录嵌入到松散索引扫描的逻辑里,当评估紧凑索引扫描成本比松散索引扫描低时,对于包含 distinct 关键字的聚合函数,就会用顺序读取记录代替跳着读取记录,并且在顺序读取记录的过程中完成记录去重...当松散索引扫描比紧凑索引扫描成本高时,min()、max() 会选择用紧凑索引扫描,MySQL 为 count(distinct)、sum(distinct)、avg(distinct) 引入松散索引扫描的变种

    7.6K60

    MySQL 怎么用索引实现 group by?

    分组计数(字段值不为 NULL 才进行计数) if (!...在读取数据时,min()、max() 用 group by 字段值作为分组前缀;count(distinct)、sum(distinct)、avg(distinct) 用 group by 字段值 +...聚合函数中的字段值作为分组前缀。...MySQL 把紧凑索引扫描中使用的顺序读取记录嵌入到松散索引扫描的逻辑里,当评估紧凑索引扫描成本比松散索引扫描低时,对于包含 distinct 关键字的聚合函数,就会用顺序读取记录代替跳着读取记录,并且在顺序读取记录的过程中完成记录去重...当松散索引扫描比紧凑索引扫描成本高时,min()、max() 会选择用紧凑索引扫描,MySQL 为 count(distinct)、sum(distinct)、avg(distinct) 引入松散索引扫描的变种

    5.7K20

    精选25道Mysql面试题,快来测测你的数据库水平吧

    1、存储过程和函数的区别 存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。...16、Mysql查询是否区分大小写?...InnoDB,是MySQL的数据库引擎之一,它的特性是支持事务,并且采用多版本并发控制的方式来提高并发度,当一个事务全部完成,才会执行update.如果一段代码没有完成(及一个事务操作没有完成)它是不会...缺点是,innoDB的表执行起来速度较慢,但是安全! 19、Mysql如何优化DISTINCT? DISTINCT在所有列上转换为GROUP BY,并与ORDER BY子句结合使用。...The maximum legal display width is 255. 23、什么是通用SQL函数? CONCAT(A, B) - 连接两个字符串值以创建单个字符串输出。

    2.1K20

    【两只鱼】SQL 调优之13条锦囊妙计

    因为非聚集索引不存放数据,而是有个指针指向数据,所以统计时消耗的资源更少,速度也更快。...因为innoDB引擎(OLTP联机事务处理),它不像MyISAM引擎(OLAP联机分析处理)那样内置了一个计数器,在count时,直接从计数器取数据。...innoDB必须全表扫描,而且会锁表(表级锁,不是行锁),当数据达到千万级别时,速度很慢,一个SQL就会让数据库挂掉。...右表的条件列一定要加上索引(主键、唯一索引、前缀索引等),最好能够使type达到range及以上(ref,eq_ref,const,system) 索引无法命中的情况: %字段% 使用or条件的字段 使用函数的字段...,比如字段 gender,这个的值就两个值male 和 female,如果使用索引反而会慢些,不使用索引会更快,这种情况不用担心 这个跟第上条类似,就是当你的一个索引,他的每个键对应多个值,

    2.4K30

    Mysql COUNT() 函数补充内容

    下面来开始今天的正文内容吧...回顾上篇上篇文章我们在介绍 Mysql count() 函数时,介绍了count(*) count(1) count(column) 在统计数据量时候的区别以及统计结果的不同...这里的 expr 可以是一个列名、一个常量值、一个算术表达式、一个函数调用等。当 expr 的结果不为 NULL 时,该行会被计入总数。...COUNT(DISTINCT expr)COUNT(DISTINCT expr) 是 SQL 中的一个函数,用于计算指定表达式(expr)不同(唯一)非 NULL 值的数量。...与 COUNT(expr) 不同,COUNT(expr) 计算的是所有非 NULL 值的数量,而 COUNT(DISTINCT expr) 只计算不同值的数量。...另外就是 COUNT(DISTINCT post_sort) 不会统计该列值为 NULL 的数据,比如这里去重统计 create_bySELECT COUNT(DISTINCT create_by) FROM

    43820

    【Java】大文本字符串滤重的简单方案

    同时检索速度也越来越慢。...Bloom Filter 是一种空间效率很高的随机数据结构,Bloom filter 可以看做是对 bit-map 的扩展, 它的原理是: 当一个元素被加入集合时,通过 K 个 Hash 函数将这个元素映射成一个位阵列...它的优点是空间效率和查询时间都远远超过一般的算法,布隆过滤器存储空间和插入 / 查询时间都是常数O(k)。另外, 散列函数相互之间没有关系,方便由硬件并行实现。...我们很容易想到把位数组变成整数数组,每插入一个元素相应的计数器加 1, 这样删除元素时将计数器减掉就可以了。然而要保证安全地删除元素并非如此简单。首先我们必须保证删除的元素的确在布隆过滤器里面....错误率(false positive rate)、哈希函数个数以及BloomFilter位数组的大小,关于这三个值的最优配置算法,相关阅读中的文章有详细的说明。

    2K70

    PG中的查询:2.统计--(2)

    直方图 当不同值的数量变得太大而无法将他们全部存储在数组时,系统开始使用直方图表示。直方图使用多个存储桶来存储值。存储桶的数量受相同的default_statistics_target参数限制。...2986429.当截止值不再桶边缘时,该桶的匹配分数是使用线性插值计算的。...数据类型比如integer或char(3)的字段宽度是固定的,但是当使用没有设置宽度的数据类型(例如text)时,值可能会因列而异。...列之间的功能依赖关系 当一列中的值(完全或部分)由另一列中的值确定时,并且在查询中存在引用两列的条件,则结果基数将被低估。...他们旁边的值表示函数依赖程度。从0(独立)到1(第2列中的值完全由第一列中的值定义) 不同值的多元数量 对于来自多列的值的不同组合数量的统计将显著提高GROUP BY对多列操作的基数。

    86510
    领券