`
zhenping
  • 浏览: 79739 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

oracle中的聚合函数count、max、min、sum、avg以及NVL函数的用法

 
阅读更多

oracle中的聚合函数count、max、min、sum、avg以及NVL函数的用法

分组函数聚合函数对一组行中的某个列执行计算执行计算并返回单一的值。聚合函数忽略空值。聚合函数经常与 SELECT 语句的 GROUP BY 子句一同使用,所以有的时候也把其称之为分组函数。这类函数通常应用于报表统计中,以下展示Oracle常用的聚合函数的应用。

分组函数的介绍 作用于一组数据,并对一组数据返回一个值.

常见的分组函数有:

Count


用来计算有效数据的数量

Min

返回一个数字列或计算列的最小值

select gi.ID,

gi.game_instance_name,

gi.draw_no,

gi.draw_date,

count(*) ticketNumber, ---用来计算有效数据的数量

nvl(min(tt.total_bets), 0) totalEntry,--用来计算给定字段的最小值,如果为NULL就用0代替

nvl(min(tt.total_amount), 0) TotalTurnover----用来计算给定字段的最小值,如果为NULL就用0代替

from te_bg_ticket tt, BG_GAME_INSTANCE gi, game g

where tt.BG_GAME_INSTANCE_ID = gi.ID

and gi.game_id = g.game_id

and gi.status = 1

and tt.ticket_type = 1

and tt.is_count_in_pool = 1

and g.game_id = '4028822f483fd59401483fe62dc4000d'

and g.game_type_id = 6

groupby gi.ID, gi.game_instance_name, gi.draw_no, gi.draw_date

havingcount(*) > 0

orderby gi.draw_no

Max

返回一个数字列或计算列的最大值

和最小值用法一样

Sum

返回一个数字列或计算列总和

select gi.ID,

gi.game_instance_name,

gi.draw_no,

gi.draw_date,

count(*) ticketNumber, ---用来计算有效数据的数量

nvl(sum(tt.total_bets), 0) totalEntry,--用来计算给定字段的总和,如果为NULL就用0代替

nvl(sum(tt.total_amount), 0) TotalTurnover----用来计算给定字段的总和,如果为NULL就用0代替

from te_bg_ticket tt, BG_GAME_INSTANCE gi, game g

where tt.BG_GAME_INSTANCE_ID = gi.ID

and gi.game_id = g.game_id

and gi.status = 1

and tt.ticket_type = 1

and tt.is_count_in_pool = 1

and g.game_id = '4028822f483fd59401483fe62dc4000d'

and g.game_type_id = 6

groupby gi.ID, gi.game_instance_name, gi.draw_no, gi.draw_date

havingcount(*) > 0

orderby gi.draw_no

avg

返回一个数字列或计算列的平均值

用法和Max,min,Sum一样

NVL函数

NVL(expr1,expr2) 如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。


分享到:
评论

相关推荐

    Hive与Oracle常用函数对比

    通过学习将Oracle和Hive的常用函数整理出来做了个对比,提供他们各自支持的常用函数。

    nvl的相关函数描述

    nvl的相关函数,nvl的相关函数,nvl的相关函数

    oracle-10G函数大全.chm

    1,数值型函数(abs()、sign...5,聚组函数(avg()、sum()、max()、min()、stddev()...); 6,分析函数(sum(...) over(...)、dense_rank、row_number()、lag()...); 7,其它函数(decode()、nvl()、nvl2()、least()...);

    oracle中nvl、decode、trim、rtrim的常见用法

    列举oracle中nvl、decode、trim、rtrim的常见用法

    oracle的nvl函数的使用介绍

    Oracle的Nvl函数 nvl( ) 函数 从两个表达式返回一个非null 值。 语法 NVL(eExpression1, eExpression2) 参数 eExpression1, eExpression2 如 果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。...

    Oracle 基础语句 函数大全(字符串函数

    ORACLE PL/SQL 字符串函数、数学函数、日期函数 --【字符串函数】 --字符串截取substr(字段名,起始点,个数) select Name,substr(Name,2,4),substr(Name,0,3),substr(Name,-2,3),substr(Name,-2,1) from t1; --字符...

    oracle学习笔记(二)

    1、 Types of Group Functions avg、count、max、min、stddev、sum、variance avg 求平均数 select avg(nvl(列1,0)) from 表1 count求行数 在where条件中不允许使用聚合函数,但可以使用having avg(列1)>1000 having...

    Oracle中的INSTR,NVL和SUBSTR函数的用法详解

    Oracle中INSTR的用法: INSTR方法的格式为 INSTR(源字符串, 要查找的字符串, 从第几个字符开始, 要找到第几个匹配的序号) 返回找到的位置,如果找不到则返回0. 例如:INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符...

    oracle的列转行函数

    SELECT TRIM(',' FROM SYS.STRAGG(A_NAME||NVL2(A_NAME,',','')))as nams FROM A_TEMP

    浅谈mysql可有类似oracle的nvl的函数

    ifnull等同于oracle的nvl,用法如下 mysql> select ifnull(1,10); +————–+ | ifnull(1,10) | +————–+ | 1 | +————–+ 1 row in set (0.00 sec) mysql> select ifnull(null,10); +—————–+ | ...

    Oracle_Database_11g完全参考手册.part3/3

    9.4.3 AVG、COUNT、MAX、MIM和SUM 9.4.4 组值函数和单值函数的组合 9.4.5 STDDEV和、VARIANCE 9.4.6 组函数中的DISTINCT 9.5 列表函数 9.6 使用MAX或MIN函数查找行 9.7 优先级和圆括号的应用 9.8 小结 第10章 日期...

    oracle常用函数

    Oracle中的NVL,NVL2,NULLIF,COALESCE通用函数

    Oracle_Database_11g完全参考手册.part2/3

    9.4.3 AVG、COUNT、MAX、MIM和SUM 9.4.4 组值函数和单值函数的组合 9.4.5 STDDEV和、VARIANCE 9.4.6 组函数中的DISTINCT 9.5 列表函数 9.6 使用MAX或MIN函数查找行 9.7 优先级和圆括号的应用 9.8 小结 第10章 日期...

    oracle中查看表空间与对应物理文件,用户,表,使用情况

    round((sum(nvl(b.bytes, 0)) - sum(nvl(a.bytes, 0))) / 1024 / 1024, 2) 已经使用M, round(sum(nvl(a.bytes, 0)) / 1024 / 1024, 2) 剩余M, round(sum(c.bytes) / 1021 / 1024, 2) 该用户使用M from ...

    Oracle练习笔试大全

    /////////////////////////组函数(共5个):将多个条件组合到一起最后只产生一个数据//////min() max() avg() sum() count()///////////////////////////// 51、select count(*) from emp; //求出表中一共有多少条...

    oracle学习笔记

    基本涵盖了oracle的各个方面: oracle day3 笔记 外连接: 查找每个员工的经理ID select e.first_name "Employee",m.first_name "Manager" ... select avg(nvl(commission_pct,0)) from s_emp;

    Oracle-Decode()函数和CASE语句的比较

    本文讲述了Oracle-Decode()函数和CASE语句的比较。

Global site tag (gtag.js) - Google Analytics