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第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。

时间: 2024-10-09 12:45:54

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

mysql之count,max,min,sum,avg,celing,floor

写在前面 昨天去青龙峡玩了一天,累的跟狗似的.不过还好,最终也算登到山顶了,也算来北京后征服的第三座山了.这里也唠叨一句,做开发这行,没事还是多运动运动,对自己还是很有好处的,废话少说,还是折腾折腾sql语句吧. 系列文章 mysql之创建数据库,创建数据表 mysql之select,insert,delete,update mysql之group by,order by count 计数,经常和group by语句搭配使用,此时,可以这样理解,分组后,该分组的个数.还以之前的数据表tb_stu

sql-函数avg,count,max,min,sum

 常用函数 AVG (平均) COUNT (计数) MAX (最大值) MIN (最小值) SUM (总合) 运用函数的语法是: SELECT "函数名"("栏位名") FROM "表格名"; 举例来说,若我们要由我们的示范表格中求出 Sales 栏位的总合, SELECT SUM(Sales) FROM Store_Information; 结果: 2750 2750 代表所有 Sales 栏位的总合: 1500 + 250 + 300 + 7

SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum

SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum avg() 函数 定义和用法 AVG 函数返回数值列的平均值.NULL 值不包括在计算中. SQL AVG() 语法 SELECT AVG(column_name) FROM table_name SQL AVG() 实例 我们拥有下面这个 "Orders" 表: O_Id OrderDate OrderPrice Customer 1 2008/12/29

49-python基础-python3-列表-常用列表统计函数-max()-min()-sum()

max() min() sum() 1-数字列表统计 实例: 2-字符串列表统计. 根据ASCII码大小统计字符串列表的min()和max(). 注意:sum()函数无法统计字符串列表. 实例: 原文地址:https://www.cnblogs.com/summer1019/p/11371864.html

day05 协程函数,递归函数,匿名函数lambda,内置函数map reduce filter max min zip sorted,匿名函数lambda和内置函数结合使用,面向过程编程与函数编程,模块与包的使用,re模块内置函数

基础篇 本章大纲: 协程函数 递归函数 匿名函数lambda 内置函数map reduce filter  max min zip sorted 匿名函数lambda和内置函数结合使用 面向过程编程与函数编程 模块与包的使用 re模块内置函数 一,协程函数 注意:函数先定义,后使用.这是函数第一原则.函数主要分为定义,调用 1.1,什么是协程函数 协程函数特点:yield变为表达式,可以通过g.send(value)传值,用send传值时协程函数需要初始化,也可以说是生成器函数的一种 1.2,协

mysql count max min 语句用法

count 用法 求总条数 $sql="select count(*) as total from e_user"; $query = mysql_query($sql, $link); $res = mysql_fetch_array($query); $count = $res['total']; max用法 $sql="select max(id) as maxid from e_user"; $sql="select id as maxid fro

Oracle中的数值处理相关函数介绍

转载请注明出处:http://blog.csdn.net/anxpp/article/details/51551008,谢谢! 1.概述 Oracle函数处理三种类型的数值:单值.值组和值列表. 这些函数跟串函数一样,用来更改数值或者是返回数值相关的信息. 数值类型区分如下: 单值:只是一个数值,如常数值.PL/SqL等中的变量.数据库的一列和一行的一个数字等.Oracle的单值函数通常通过计算来更改这些值. 值组:一系列数据行中的某一列的所有数值数据.Oracle值组函数提供的是整个组的信息,

Oracle中decode函数用法含义

DECODE(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) DECODE(字段或字段的运算,值1,值2,值3) 这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3 当然值1,值2,值3也可以是表达式,这个函数使得某些SQL语句简单了许多 该函数的含义如下: IF 条件=值1 THEN RETURN(返回值1) ELSIF 条件=值2 THEN RETURN(返回值2) ...... ELSIF 条件=值n THEN RETURN(返回值n

ORACLE-013:oracle中kill死锁进程

oracle中对于访问频率很高的包,存储过程或者函数,会引起死锁.对于用到了死锁的对象的脚本都会无法运行,造成卡死,或者报异常:打开的连接太多. 这时需要使用dba权限账户去kill掉死锁的对象. 使用 alter system kill session 死锁对象的ID; 执行如下sql,查找出死锁的ID,并将alter语句拼接好: select Distinct 'alter system kill session '||chr(39)||b.sid||','||b.serial#||chr(