最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

oracle橫向縱向求和代碼實(shí)例

 更新時間:2017年10月11日 14:27:17   作者:yaopan1989  
這篇文章主要介紹了oracle橫向縱向求和的相關(guān)內(nèi)容,涉及兩個實(shí)例,具有一定參考價(jià)值。需要的朋友可以了解。

有一張工資表SALARY如下, (NO 員工編號 ,MONEY 工資)

NO    NAME     ITEM       MONEY
001    張三        工資        80
001    張三        補(bǔ)貼        86
001    張三        獎金        75
002    李四        工資        78
002    李四        補(bǔ)貼        85
002    李四        獎金        78

求每個人的總工資以及所有人的總工資,結(jié)果如下表:

結(jié)果如下:

姓名    工資      補(bǔ)貼    獎金    總工資
李四     780       850      780     2410
張三     800       860      750     2410
總計(jì)    1580     1710     1530   4820

SQL語句:

SELECT DECODE(GROUPING(NAME), 1, '總計(jì)', NAME) 姓名,
SUM(DECODE(ITEM, '工資', MONEY, 0))  工資,
SUM(DECODE(ITEM, '補(bǔ)貼', MONEY, 0))  補(bǔ)貼,
SUM(DECODE(ITEM, '獎金', MONEY, 0))  獎金,
SUM(MONEY)  總工資
FROM  SALARY
GROUP  BY  ROLLUP(NAME);

其中:GROUPING函數(shù)接受一列,列值為空返回1,非空返回0,只能在使用ROLLUP或CUBE的查詢中使用;
DECODE(ITEM,  '工資',  MONEY, 0) 是指ITME的值與‘工資'比較,如果相等返回MONEY,不等返回0

下面再看一個實(shí)例

有一張表test 如下, (NO 學(xué)生編號 ,cj 成績)

NO name KM CJ
001 張三 語文 80
001 張三 數(shù)學(xué) 86
001 張三 英語 75
002 李四 語文 78
002 李四 數(shù)學(xué) 85
002 李四 英語 78

寫了以下語句來算每項(xiàng)個科目的總分,

select decode(grouping(name),1,'總分',name) 姓名, 
sum(decode(km, '數(shù)學(xué)',cj,0)) 數(shù)學(xué),
sum(decode(km, '英語',cj,0)) 英語, 
sum(decode(km, '語文',cj,0)) 語文,
sum(cj) 總成績 
from test group by rollup(name)

結(jié)果如下:

姓名 數(shù)學(xué) 英語 語文 總成績
李四 85  78  78  241
張三 86  75  80  241
總分 171 153 158  482

總結(jié)

以上就是本文關(guān)于oracle橫向縱向求和代碼實(shí)例的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以參閱:ORACLE SQL語句優(yōu)化技術(shù)要點(diǎn)解析 、oracle數(shù)據(jù)庫導(dǎo)入TXT文件方法介紹ORACLE多條件統(tǒng)計(jì)查詢的簡單方法 等。有什么問題可以隨時留言,歡迎大家交流討論。

相關(guān)文章

  • Oracle自我補(bǔ)充之trunc()函數(shù)的使用方法

    Oracle自我補(bǔ)充之trunc()函數(shù)的使用方法

    TRUNC函數(shù)為指定元素而截去的日期值。下面通過本文給大家介紹Oracle自我補(bǔ)充之trunc()函數(shù)的使用方法,感興趣的朋友一起看看吧
    2017-06-06
  • Oracle生成單據(jù)編號存儲過程的實(shí)例代碼

    Oracle生成單據(jù)編號存儲過程的實(shí)例代碼

    Oracle生成單據(jù)編號存儲過程,在做訂單類似的系統(tǒng)都可能會存在訂單編號不重復(fù),或是流水號按日,按年,按月進(jìn)行重新編號。下面給大家分享oracle生成單據(jù)編號存儲過程,需要的的朋友參考下吧
    2017-04-04
  • 詳解Oracle中sqlldr的具體用法

    詳解Oracle中sqlldr的具體用法

    這篇文章主要介紹了詳解Oracle中sqlldr的用法,SQLLDR可以在極短的時間內(nèi)加載數(shù)量龐大的數(shù)據(jù),這是一個非常有用的工具,可用于從多種平面文件格式向Oracle數(shù)據(jù)庫中加載數(shù)據(jù),需要的朋友可以參考下
    2023-07-07
  • oracle鎖表該如何解決

    oracle鎖表該如何解決

    這篇文章主要給大家介紹了關(guān)于oracle鎖表如何解決的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • ORACLE應(yīng)用經(jīng)驗(yàn)(2)

    ORACLE應(yīng)用經(jīng)驗(yàn)(2)

    ORACLE應(yīng)用經(jīng)驗(yàn)(2)...
    2007-03-03
  • oracle 分頁問題解決方案

    oracle 分頁問題解決方案

    測試說分頁查詢貌似不起作用,翻到第4頁以后,看到的數(shù)據(jù)結(jié)果都是相同的,此等問題應(yīng)該如何解決,本文將詳細(xì)介紹
    2012-11-11
  • db2與oracle的sql語句有什么不同

    db2與oracle的sql語句有什么不同

    Oracle和DB2都是關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),但它們的設(shè)計(jì)理念、特性及性能等方面存在一些顯著的差異,本文將詳細(xì)比較Oracle和DB2,幫助企業(yè)和數(shù)據(jù)庫管理員了解這兩個系統(tǒng)各自的優(yōu)勢和局限性,并指導(dǎo)用戶根據(jù)自己的業(yè)務(wù)需求作出合適的選擇
    2024-02-02
  • Oracle case函數(shù)使用介紹

    Oracle case函數(shù)使用介紹

    這篇文章主要通過實(shí)例簡要介紹case函數(shù)的用法,學(xué)習(xí)oracle的朋友可以參考下
    2013-09-09
  • Oracle DATABASE LINK(DBLINK)創(chuàng)建與刪除方法

    Oracle DATABASE LINK(DBLINK)創(chuàng)建與刪除方法

    這篇文章主要介紹了Oracle DATABASE LINK(DBLINK)創(chuàng)建與刪除方法,需要的朋友可以參考下
    2016-02-02
  • Oracle刪除重復(fù)的數(shù)據(jù),Oracle數(shù)據(jù)去重復(fù)

    Oracle刪除重復(fù)的數(shù)據(jù),Oracle數(shù)據(jù)去重復(fù)

    這篇文章主要介紹了Oracle刪除重復(fù)的數(shù)據(jù),Oracle數(shù)據(jù)去重復(fù),需要的朋友可以參考下
    2016-08-08

最新評論

龙井市| 樟树市| 上犹县| 七台河市| 阳春市| 台北市| 肥城市| 灵山县| 新建县| 松江区| 泰州市| 耿马| 乡城县| 乃东县| 包头市| 新宾| 衡山县| 昌江| 郎溪县| 汝南县| 镇巴县| 彭水| 时尚| 金山区| 三都| 喀喇沁旗| 若尔盖县| 宁武县| 朔州市| 和田县| 枣庄市| 嘉兴市| 潼南县| 秀山| 龙州县| 南丹县| 常德市| 洮南市| 临汾市| 平凉市| 鱼台县|