婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 從Oracle 表格行列轉置說起第1/2頁

從Oracle 表格行列轉置說起第1/2頁

熱門標簽:北京外呼系統公司排名 貴陽智能電銷機器人官網 沈陽400電話是如何辦理 北京營銷外呼系統廠家 外呼系統口號 外呼系統鄭州 溫州人工外呼系統 地圖標注付款了怎么找不到了 百度地圖標注員是干什么

NO MONEY DAY
1 23 1
1 43 2
1 -45 3
2 42 1
2 -10 2
2 50 3
3 100 8

為了符合閱讀習慣,最終報表希望是如下格式:

NO MON TUE THR
1 23 43 -45
2 42 -10 50
3      

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

咱們一步步來實現:

1.運用DECODE轉換行為列

SQL:

SELECT NO,
    DECODE(DAY,1,MONEY,'') DAY1,
    DECODE(DAY,2,MONEY,'') DAY2,
    DECODE(DAY,3,MONEY,'') DAY3
FROM TEMP

結果:

NO DAY1 DAY2 DAY3
1 23
1 43
1 -45
2 42
2 -10
2 50
3      

2.按NO字段分組,并更改列名

SQL:

SELECT NO, MAX(DAY1) MON, MAX(DAY2) TUE, MAX(DAY3) THR
 FROM (SELECT NO,
        DECODE(DAY, 1, MONEY,'') DAY1,
        DECODE(DAY, 2, MONEY,'') DAY2,
        DECODE(DAY, 3, MONEY,'') DAY3
     FROM TEMP)
 GROUP BY NO;

結果:

NO MON TUE THR
1 23 43 -45
2 42 -10 50
3      

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

重難點歸納:

1.DECODE缺省值設置

DECODE語法如下:decode(條件,值1,翻譯值1,值2,翻譯值2,...值n,翻譯值n,缺省值)

如果缺省值由''(兩個單引號)改為0,即SQL:

SELECT NO, MAX(DAY1) MON, MAX(DAY2) TUE, MAX(DAY3) THR
 FROM (SELECT NO,
        DECODE(DAY, 1, MONEY,0) DAY1,
        DECODE(DAY, 2, MONEY,0) DAY2,
        DECODE(DAY, 3, MONEY,0) DAY3
     FROM TEMP)
 GROUP BY NO;

結果如下(所有值為負與空值都被賦為0):

NO MON TUE THR
1 23 43 0
2 42 0 50
3 0 0 0

2.列缺省值設置(DAY值為8的顯示為'undefined')

SQL:

SELECT NO,MONEY,
    DECODE(DAY,1,'MON',2,'TUE',3,'THR','undefined') DAY
FROM TEMP

結果:

NO MONEY DAY
1 23 MON
1 43 TUE
1 -45 THR
2 42 MON
2 -10 TUE
2 50 THR
3 100 undefined

3.行列轉化在表單內數據量較大的情況下消耗較大

原因:

1.掃描目標數據時間開銷大。

2.GROUP BY時,數據冗余帶來的多行合并。

優點:

表結構穩定:DAY增加新值只需增加記錄,無需新增新列!

下一頁 decode()函數使用技巧
12下一頁閱讀全文
您可能感興趣的文章:
  • Oracle實現行列轉換的方法分析
  • Oracle的數據表中行轉列與列轉行的操作實例講解
  • Oracle 數據庫針對表主鍵列并發導致行級鎖簡單演示
  • oracle wm_concat 列轉行 逗號分隔
  • Oracle逗號分隔列轉行實現方法
  • Oracle CBO幾種基本的查詢轉換詳解
  • oracle中to_date詳細用法示例(oracle日期格式轉換)
  • 通過創建SQLServer 2005到 Oracle10g 的鏈接服務器實現異構數據庫數據轉換方案
  • MySQL轉換Oracle的需要注意的七個事項
  • 將mysql轉換到oracle必須了解的50件事
  • ORACLE常用數值函數、轉換函數、字符串函數
  • Oracle實現行轉換成列的方法

標簽:包頭 衢州 衡水 淮北 潮州 定西 通遼 溫州

巨人網絡通訊聲明:本文標題《從Oracle 表格行列轉置說起第1/2頁》,本文關鍵詞  從,Oracle,表格,行列,轉置,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《從Oracle 表格行列轉置說起第1/2頁》相關的同類信息!
  • 本頁收集關于從Oracle 表格行列轉置說起第1/2頁的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 闸北区| 土默特左旗| 正宁县| 华容县| 正安县| 通辽市| 广饶县| 石嘴山市| 陇西县| 墨竹工卡县| 浦北县| 海口市| 莎车县| 鲁甸县| 海宁市| 东平县| 延吉市| 绥芬河市| 枝江市| 大理市| 平邑县| 崇文区| 敖汉旗| 九龙城区| 吉林省| 徐州市| 永修县| 黑龙江省| 临沭县| 六枝特区| 延川县| 商洛市| 蒙阴县| 敦煌市| 新泰市| 永寿县| 朝阳市| 永川市| 齐齐哈尔市| 九江市| 安陆市|