oracle求部门请假类别合计_【大话IT】求oracle sql 写法,找出同类的合计,所有的总计...
代碼測試如下:
SQL> select * from crm;
PARENTID CHILDRENID JTID JTNAME GX DISPLAYNAME JXRL LOATERATE
-------- ---------- ---- ------ -- ----------- ---- ---------
1? ?? ?? ? 62? ?A集團??62 A嘉華? ?? ?? ?? ?50
1? ?? ???2? ?? ?? ? 62? ?A集團??2??嘉華#3? ?? ?600??0
1? ?? ???3? ?? ?? ? 62? ?A集團??2??嘉華#4? ?? ?? ???0
1? ?? ???4? ?? ?? ? 62? ?A集團??2??嘉華#5? ?? ?300??0
5? ?? ?? ? 62? ?A集團??62 A樂清煤電? ?? ???50
5? ?? ???6? ?? ?? ? 62? ?A集團??3??樂清#1? ?? ?? ???50
5? ?? ???7? ?? ?? ? 62? ?A集團??3??樂清#2? ?? ?? ???0
8? ?? ?? ? 62? ?A集團??62 A蘭溪煤電? ?? ???50
8? ?? ???9? ?? ?? ? 62? ?A集團??4??蘭溪#1? ?? ?? ???0
8? ?? ???10? ?? ?? ?62? ?A集團??4??蘭溪#4? ?? ?600??0
11? ?? ?? ?63? ?B集團??63 B玉環(huán)煤電? ?? ???50
11? ?? ? 12? ?? ?? ?63? ?B集團??23 玉環(huán)#1? ?? ?? ???50
11? ?? ? 13? ?? ?? ?63? ?B集團??23 玉環(huán)#2? ?? ?? ???50
14? ?? ?? ?63? ?B集團??63 B長興煤電? ?? ???51
14? ?? ? 15? ?? ?? ?63? ?B集團??61 B長興1#? ???100??51
14? ?? ? 16? ?? ?? ?63? ?B集團??61 B長興2#? ???200??50
17? ?? ?? ?64? ?C集團??64 C烏山煤電? ?? ???50
17? ?? ? 18? ?? ?? ?64? ?C集團??41 C烏山1#? ?? ?? ? 50
17? ?? ? 19? ?? ?? ?64? ?C集團??41 C烏山2#? ?? ?? ? 0
20? ?? ?? ?65? ?D集團??65 D半山煤電? ?? ???0
20? ?? ? 21? ?? ?? ?65? ?D集團??25 半山#5? ?? ?? ???0
21 rows selected
SQL>
SQL>
SQL> select??JTID,
2? ?? ?? ? decode(grouping(CHILDRENID), 1, '合計', JTNAME) JTNAME,
3? ?? ?? ? GX,
4? ?? ?? ? DISPLAYNAME,
5? ?? ?? ? decode(ln, 1, sum(nvl(new_JXRL, 0)), sum(nvl(JXRL, 0))) JXRL,
6? ?? ?? ? decode(grouping(CHILDRENID), 1, (sum(decode(ln, 1, LOATERATE, 0)) / max(cnt)), sum(LOATERATE)) LOATERATE
7??from
8??(select ln,
9? ?? ?? ? grp,
10? ?? ?? ? CHILDRENID,
11? ?? ?? ? JTID,
12? ?? ?? ? JTNAME,
13? ?? ?? ? GX,
14? ?? ?? ? DISPLAYNAME,
15? ?? ?? ? JXRL,
16? ?? ?? ? decode(ln, 1, sum(nvl(JXRL, 0)) over(partition by grp), JXRL) new_JXRL,
17? ?? ?? ? LOATERATE,
18? ?? ?? ? count(distinct grp) over() cnt
19??from
20??(select level ln,
21? ?? ?? ? connect_by_root(CHILDRENID) grp,
22? ?? ?? ? CHILDRENID,
23? ?? ?? ? JTID,
24? ?? ?? ? JTNAME,
25? ?? ?? ? GX,
26? ?? ?? ? DISPLAYNAME,
27? ?? ?? ? JXRL,
28? ?? ?? ? LOATERATE
29? ???from crm
30? ? start with PARENTID is null
31? ? connect by prior CHILDRENID = PARENTID))
32??group by rollup((ln, grp, CHILDRENID, JTID, JTNAME, GX, DISPLAYNAME))
33??order by JTID, grp, ln;
JTID JTNAME GX DISPLAYNAME? ?? ? JXRL??LOATERATE
---- ------ -- ----------- ---------- ----------
62? ?A集團??62 A嘉華? ?? ?? ?? ???900? ?? ?? ?50
62? ?A集團??2??嘉華#5? ?? ?? ?? ? 300? ?? ?? ? 0
62? ?A集團??2??嘉華#4? ?? ?? ?? ?? ?0? ?? ?? ? 0
62? ?A集團??2??嘉華#3? ?? ?? ?? ? 600? ?? ?? ? 0
62? ?A集團??62 A樂清煤電? ?? ?? ?? ?0? ?? ?? ?50
62? ?A集團??3??樂清#1? ?? ?? ?? ?? ?0? ?? ?? ?50
62? ?A集團??3??樂清#2? ?? ?? ?? ?? ?0? ?? ?? ? 0
62? ?A集團??62 A蘭溪煤電? ?? ?? ? 600? ?? ?? ?50
62? ?A集團??4??蘭溪#4? ?? ?? ?? ? 600? ?? ?? ? 0
62? ?A集團??4??蘭溪#1? ?? ?? ?? ?? ?0? ?? ?? ? 0
63? ?B集團??63 B玉環(huán)煤電? ?? ?? ?? ?0? ?? ?? ?50
63? ?B集團??23 玉環(huán)#1? ?? ?? ?? ?? ?0? ?? ?? ?50
63? ?B集團??23 玉環(huán)#2? ?? ?? ?? ?? ?0? ?? ?? ?50
63? ?B集團??63 B長興煤電? ?? ?? ? 300? ?? ?? ?51
63? ?B集團??61 B長興2#? ?? ?? ?? ?200? ?? ?? ?50
63? ?B集團??61 B長興1#? ?? ?? ?? ?100? ?? ?? ?51
64? ?C集團??64 C烏山煤電? ?? ?? ?? ?0? ?? ?? ?50
64? ?C集團??41 C烏山1#? ?? ?? ?? ???0? ?? ?? ?50
64? ?C集團??41 C烏山2#? ?? ?? ?? ???0? ?? ?? ? 0
65? ?D集團??65 D半山煤電? ?? ?? ?? ?0? ?? ?? ? 0
65? ?D集團??25 半山#5? ?? ?? ?? ?? ?0? ?? ?? ? 0
合計? ?? ?? ?? ?? ?? ?? ?? ?1800? ?? ?? ?43
22 rows selected
SQL>
總結(jié)
以上是生活随笔為你收集整理的oracle求部门请假类别合计_【大话IT】求oracle sql 写法,找出同类的合计,所有的总计...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 现在黄金的价格 现阶段的黄金价格
- 下一篇: 现金红利发放日是什么意思