oracle学习日记1

最近觉得oracle越来越重要了,不熟悉一下还真做不来(程序员),所以我有了恶补一下的心思了.就从今天开始吧,吼吼.(080429距奥运会还有101天)
 今天学习下合计函数吧,
aggregate_function([DISTINCT | ALL] expression)
aggregate函数包括:SUM, COUNT, AVG, MAX, MIN等.并且默认是使用ALL的。
这个函数使用很简单,需要注意的是:
当expression列存在NULL的时候,COUNT(expression)的结果不包括expression列为空的行
ORDER_NBR  CUST_NBR  SALES_EMP_ID  CORDER_DT   EXPECTED_
--------- -------- ------------ ---------- --------- --------- 
     1001                1                 7354               99          22-JUL-01    23-JUL-01
     1000                1                 7354                            19-JUL-01     24-JUL-01
     1002                5                 7368                            12-JUL-01     25-JUL-01

对上面的数据执行:结果COUNT(SALE_PRICE)要比总行数少.
SELECT COUNT(*), COUNT(sale_price) FROM cust_order;
COUNT(*) COUNT(SALE_PRICE)
--------        -----------------
      3                     1
SELECT AVG(SALE_PRICE) FROM CUST_ORDER;将得到99而不是33。所以应该这样使用
SELECT AVG(NVL(SALE_PRICE,0)) FROM CUST_ORDER;这回结果就是33啦。
这里注意即使使用AVG(ALL SALE_PRICE)也还是不好用,
好今天就到这里吧。(其他发现慢慢补充吧)

转载于:https://www.cnblogs.com/wzc998/archive/2008/04/29/1176789.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值