oracle使用decode實現豎錶轉橫表 (列轉行)
select sum(decode(inst_date, 201501, amt_fee, 0)) amtfees_201501, sum(decode(inst_date, 201502, amt_fee, 0)) amtfees_201502, sum(decode(inst_date, 201503, amt_fee, 0)) amtfees_201503, sum(decode(inst_date, 201504, amt_fee, 0)) amtfees_201504, sum(decode(inst_date, 201505, amt_fee, 0)) amtfees_201505, sum(decode(inst_date, 201506, amt_fee, 0)) amtfees_201506, sum(decode(inst_date, 201507, amt_fee, 0)) amtfees_201507, sum(decode(inst_date, 201508, amt_fee, 0)) amtfees_201508, sum(decode(inst_date, 201509, amt_fee, 0)) amtfees_201509, sum(decode(inst_date, 2015010, amt_fee, 0)) amtfees_201510, sum(decode(inst_date, 2015011, amt_fee, 0)) amtfees_201511, sum(decode(inst_date, 2015012, amt_fee, 0)) amtfees_201512 from R_KC_AGENT_STATISTICS where inst_date between 201501 and 201512;
查詢結果如下: 如果有其他條件也可以在decode中再套一層decode。 再舉一個複雜點的例子 轉之前,同一個chnl_mcht_id,bank_mcht_id,app_key下 可能會有多個不同的acquire_type
轉之後同一個chnl_mcht_id,bank_mcht_id,app_key下面 不同的acquire_type 被壓縮排一行select chnl_mcht_id, BANK_MCHT_ID, decode(max(wechats), 1, 'wechat', '') || '-' || decode(max(alipays), 1, 'alipay', '') || '-' || decode(max(qqs), 1, 'qq', '') || '-' || decode(max(jds), 1, 'jd', '') || '-' || decode(max(baidus), 1, 'baidus', ''), APP_KEY from (select chnl_mcht_id, BANK_MCHT_ID, decode(ACQUIRER_TYPE, 'wechat', 1, 0) wechats, decode(ACQUIRER_TYPE, 'alipay', 1, 0) alipays, decode(ACQUIRER_TYPE, 'qq', 1, 0) qqs, decode(ACQUIRER_TYPE, 'jd', 1, 0) jds, decode(ACQUIRER_TYPE, 'baidu', 1, 0) baidus, APP_KEY from (SELECT DISTINCT chnl_mcht_id, BANK_MCHT_ID, ACQUIRER_TYPE, APP_KEY FROM wallet_mcht_info_reg WHERE chnl_mcht_id IS NOT NULL group by chnl_mcht_id, BANK_MCHT_ID, APP_KEY, ACQUIRER_TYPE) group by chnl_mcht_id, BANK_MCHT_ID, APP_KEY, ACQUIRER_TYPE) group by chnl_mcht_id, BANK_MCHT_ID, APP_KEY
相關推薦
oracle使用decode實現豎錶轉橫表 (列轉行)
工作中時長會用到豎錶轉橫表(列轉行)例如某商場每天都有營業額,資料庫中營業額儲存的方式是每天很多比每筆對應不同的消費記錄 ,可能有一天的營業額很多 對應的營業額明細就會很多,如果有個需求是要統計每天營
利用PIVOT將豎錶轉橫表(SQL Server2008+)
1、需求示意圖 2、建立表結構及資料 IF OBJECT_ID('dbo.OpenSchema') IS NOT NULL DROP TABLE dbo.OpenSchema; CREATE TABLE dbo.OpenSchema ( objectid INT
java實現 tiff圖片 轉 JPG圖片(完美解決)
一.環境準備 二.程式碼Demo /** * tiff 圖片 轉 JPG 圖片 * @param filePath tiff檔案路徑 */ public static void
sql pivot(行轉列) 和unpivot(列轉行)的用法
sql clas 數據 sele core unp null col style 1、PIVOT用法(行轉列) select * from Table_Score as a pivot (sum(score) for a.name in ([語文],[數學],[外語],[
SQL pivot(行轉列),unpivot(列轉行)
【pivot】行轉列:多行變一列 假設學生成績表Score1 Name Subject Score 小張 語文 88 小花 數學 89 小張
oracle 資料庫中某個欄位逗號分隔,得到對應列中的個數(列轉行)實現方法
由於各種原因,資料的原則問題,導致某個欄位上出現多個數據(依據分隔符隔開),比如 name 欄位為 張三;李四;王五等等 需求:求一張表中name欄位中出現的個數; 想要得到的結果為: 對
sql 縱表轉橫表
end AR gin pos blog innodb sum not cor DROP TABLE IF EXISTS `course`;CREATE TABLE `course` ( `id` int(11) NOT NULL AUTO_INCREMENT, `n
( 轉 ) Mysql group_concat 的反向應用實現(Mysql列轉行)
IT 轉換成 sele art start enc star In str 用過Mysql的都知道她有一個很好的實現行轉列功能的函數group_concat函數,非常方便 點擊(此處)折疊或打開 SELECT * FROM group_test;
[轉]自定義Drawable實現靈動的紅鯉魚動畫(上篇)
此篇中的小魚動畫是模仿國外一個大牛做的flash動畫,第一眼就愛上它了,簡約靈動又不失美學,於是抽空試著嘗試了一下,如下是我用Android實現的效果圖: 小魚兒
Java線性表(順序儲存)——陣列實現
第一次寫部落格,最近一直在研究資料結構,最開始準備用c語言寫資料資料結構的東西的,發現用c真的寫得我頭痛,果斷用了我喜歡的java實現,其實懂了過後用什麼語言寫都一樣的。不說了,直接上程式碼! 1.定義介面 抽象資料型別的List介面 public interface
mysql 普通錶轉分割槽表
1.按照現有表結構,建立一個臨時表,用於分割槽錶轉換 mysql> desc ClientActionTrack; +---------------+---------------+------+-----+---------+----------------+ |
java實現阿拉伯數字轉人民幣大寫(精確到分)
這是一個將阿拉伯數字轉人民幣大寫的工具類, 精確到人民幣大寫分 package com.client; import java.math.BigDecimal; /** * Class Description : 該類是把阿拉伯數字轉換成中文大寫的類。
oracle大資料表(千萬級)修改,刪除優化技巧【轉】
oracle大資料表(千萬級)修改,刪除優化技巧 執行下面的SQL delete from idwsq11.SH30_PRCSS_EXCTN_LOG e where deriv_prcss_time_stamp < to_date('2010-JAN-01', 'YYYY-MON-DD'); 省略其他
oracle 非分割槽錶轉分割槽表
將普通錶轉換成分割槽表有4種方法: 1. Export/import method 2. Insert with a subquery method 3. Partition exchange method 4. DB
利用jquery.form.js的ajaxSubmit實現不跳轉提交表單資料
我們直接通過form提交的話, 提交後當前頁面跳轉到form的action所指向的頁面。然而,很多時候我們比不希望提交表單後頁面跳轉,那麼,我們就可以使用ajaxSubmit(obj)來提交資料 1. //form表單阻止提交 <form onsubm
網頁端如何實現點擊鏈接跳轉到QQ(手機QQ)打開會話
tencent 不知道 網頁 使用 跳轉 svi js代碼 ref new 今天給大家分享一下手機或者移動設備上QQ的。大家知道電腦上可以強行聊天,點擊可以直接跳出QQ。那麽在手機上也可以嗎? 既然電腦上有tencent://協議,那麽手機上一定也有吧,抓包分析了一下
C#下實現SQL SERVER資料庫刪除以指定字串開頭的表或指定日期前的表(SQL語句)
關於C#下實現控制資料庫執行相應操作,基本所有工作全在SQL語句編寫上。嗯,簡述以下基本流程吧:C#下建立與SQL SERVER的連線------寫相應SQL語句------執行相應的SQL語句,完了。一三兩步都是定式,本人都是抄的,所以現在也記不住。至於中間的SQL語句,話
豎屏轉橫屏 Activity的切換效果
近來有個需求,使我不得不用豎屏來寫橫屏的介面,雖略顯蛋疼,但也成功寫出,但Activity的轉換過渡效果不同,十分糾結,終於找到一個overridePendingTransition的方法,經過一番研究把豎屏切橫屏的動畫效果大致搞出來了,專案地址在:http:/
PostgreSQL 實現交叉表(行列轉換)的五種方法
這裡我來演示下在POSTGRESQL裡面如何實現交叉表的展示,至於什麼是交叉表,我就不多說了,度娘去哦。原始表資料如下: t_girl=# select * from score; name | subject | score -------+------
python實現九九乘法表 (ver3.6)
菜鳥新手,大家多多指導.print("下面列印九九乘法表".center(60, "=")) for j in range(10): for i in range(j+1): print("%d