天天看點

oracle關鍵字pivot行轉列

原始表資料:

oracle關鍵字pivot行轉列

輔助思考:

select usertelephone,
  max(decode(filedid, 1, answervalue, 0)) as "問題1",
  max(decode(filedid, 2, answervalue, 0)) as "問題2",
  max(decode(filedid, 3, answervalue, 0)) as "問題3",
  max(decode(filedid, 4, answervalue, 0)) as "問題4",
  max(decode(filedid, 5, answervalue, 0)) as "問題5",
  max(decode(filedid, 6, answervalue, 0)) as "問題6",
  max(decode(filedid, 7, answervalue, 0)) as "問題7"
from t_d_Serveyanswer where serveyid =3 group by usertelephone order by 1 asc;
           
oracle關鍵字pivot行轉列

漲姿勢的關鍵字:pivot

select * from

(select usertelephone, filedname, answervalue,t.adddate from t_d_Serveyanswer t join

t_d_Serveyfiled t1 on t.filedid = t1.id where t.serveyid =3)

pivot(

max(answervalue) for filedname in (

'坑德基和麥當勞 你更喜歡 吃什麼?',

'你什麼?',

'你是那種人?',

'性别',

'你愛好什麼?',

'你叫什麼?',

'你用過天翼客服嗎?'

)

) order by 1;

           
oracle關鍵字pivot行轉列

總結:計算原理group by 聚合函數計算列以外的其他列。

for縱向展示(作為字段),聚合計算和for以外的其他列 垂直展示

上一篇: oracle 行轉列
下一篇: oralce 行轉列