专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

对于oracle中count,max,min,sum,avg以及NVL函数我是这样理解的

ins518 2024-11-07 12:06:10 技术文章 15 ℃ 0 评论

1、Count

用来计算有效数据的数量

例如,对于Scott的Schema中有表Emp;

Select Count(*) From Emp;

将会得到结果:COUNT(*)———-14

2、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

3、Max

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

和最小值用法一样。

4、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_type_id = 6

Groupby gi.ID, gi.game_instance_name, gi.draw_no, gi.draw_date

Havingcount(*) > 0

Orderby gi.draw_no

5、Avg

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

用法和Max,Min,Sum一样。

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

Select

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_type_id = 6

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表