日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle avg分析函数,分析函数之sum,avg

發布時間:2024/9/3 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle avg分析函数,分析函数之sum,avg 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

看看26樓的這句話:

看來oracle在提取數據庫的時候是按over(partition by ... order by ...)這個里邊的partition by 和 order by后邊的字段的一個個distinct值取出數據的。

仔細理解理解一下。

SQL> select * from t;

A? ?? ?? ? B? ?? ?? ? C? ?? ?? ?? ?? ?? ? D

---------- ---------- ---------- ----------

1? ?? ?? ? 111? ?? ???G? ?? ?? ?? ?? ?? ?87

1? ?? ?? ? 111? ?? ???G? ?? ?? ?? ?? ?? ?87

1? ?? ?? ? 222? ?? ???G? ?? ?? ?? ?? ?? ?85

1? ?? ?? ? 222? ?? ???G? ?? ?? ?? ?? ?? ?86

2? ?? ?? ? 111? ?? ???G? ?? ?? ?? ?? ?? ?80

2? ?? ?? ? 111? ?? ???G? ?? ?? ?? ?? ?? ?80

2? ?? ?? ? 222? ?? ???G? ?? ?? ?? ?? ?? ?81

2? ?? ?? ? 222? ?? ???G? ?? ?? ?? ?? ?? ?80

8 rows selected

只有partition by a,distinct a有2個值1和2:分2次提取數據

為1的提取一次,4條a值相同,4條平均86.25

為2的提取一次,4條a值相同,4條平均80.25

SQL> select a,b,c,avg(d) over(partition by a ),d from t;

A? ?? ?? ? B? ?? ?? ? C? ?? ?? ? AVG(D)OVER(PARTITIONBYA)? ?? ?? ? D

---------- ---------- ---------- ------------------------ ----------

1? ?? ?? ? 111? ?? ???G? ?? ?? ?? ?? ?? ?? ?? ?? ???86.25? ?? ?? ?87

1? ?? ?? ? 111? ?? ???G? ?? ?? ?? ?? ?? ?? ?? ?? ???86.25? ?? ?? ?87

1? ?? ?? ? 222? ?? ???G? ?? ?? ?? ?? ?? ?? ?? ?? ???86.25? ?? ?? ?85

1? ?? ?? ? 222? ?? ???G? ?? ?? ?? ?? ?? ?? ?? ?? ???86.25? ?? ?? ?86

2? ?? ?? ? 111? ?? ???G? ?? ?? ?? ?? ?? ?? ?? ?? ???80.25? ?? ?? ?80

2? ?? ?? ? 111? ?? ???G? ?? ?? ?? ?? ?? ?? ?? ?? ???80.25? ?? ?? ?80

2? ?? ?? ? 222? ?? ???G? ?? ?? ?? ?? ?? ?? ?? ?? ???80.25? ?? ?? ?81

2? ?? ?? ? 222? ?? ???G? ?? ?? ?? ?? ?? ?? ?? ?? ???80.25? ?? ?? ?80

8 rows selected

partition by a,order by b,distinct a,b有4個值:

1---111

1---222

2---111

2---222

分四次提取數據:

1---111:取出2條,a=1的2條取平均87

1---222:取出2條,a=1的4條取平均86.25

2---111:取出2條,a=2的2條取平均80

2---222:取出2條,a=2的4條取平均80.25

SQL> select a,b,c,avg(d) over(partition by a order by b ),d from t;

A? ?? ?? ? B? ?? ?? ? C? ?? ?? ? AVG(D)OVER(PARTITIONBYAORDERBY? ?? ?? ? D

---------- ---------- ---------- ------------------------------ ----------

1? ?? ?? ? 111? ?? ???G? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???87? ?? ?? ?87

1? ?? ?? ? 111? ?? ???G? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???87? ?? ?? ?87

1? ?? ?? ? 222? ?? ???G? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???86.25? ?? ?? ?85

1? ?? ?? ? 222? ?? ???G? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???86.25? ?? ?? ?86

2? ?? ?? ? 111? ?? ???G? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???80? ?? ?? ?80

2? ?? ?? ? 111? ?? ???G? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???80? ?? ?? ?80

2? ?? ?? ? 222? ?? ???G? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???80.25? ?? ?? ?81

2? ?? ?? ? 222? ?? ???G? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???80.25? ?? ?? ?80

8 rows selected

SQL>

總結

以上是生活随笔為你收集整理的oracle avg分析函数,分析函数之sum,avg的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。