中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

pivot和unpivot函數

發布時間:2020-07-12 06:59:38 來源:網絡 閱讀:1365 作者:小陳子057 欄目:關系型數據庫

今天小編整理的都是固定行轉列(列轉行)的例子!

一:unpivot列轉行函數
舉例演示:
創建一張表tmp_test,數據如圖所示
pivot和unpivot函數
代碼展示:
select code,name,cource,grade from tmp_test
unpivot(
grade for source in (chinese,math,english)
);
數據結果展示:
pivot和unpivot函數

二:pivot行轉列函數
舉例演示:
創建一張表tmp_test2,數據如圖所示
pivot和unpivot函數
代碼展示:
select *
from (select username,subject,source from tmp_test2)
pivot (sum(source)
for subject in ('語文' 語文,'數學' 數學,'英語' 英語));
數據結果展示:
pivot和unpivot函數
其實該sql也可以用decode函數實現:
select username,
sum(decode(subject,'語文',source,0)) 語文,
sum(decode(subject,'數學',source,0)) 數學,
sum(decode(subject,'英語',source,0)) 英語,
from tmp_test2
group by username;

總結:
pivot函數:行轉列函數:
  語法:pivot(任一聚合函數 for 需專列的值所在列名 in (需轉為列名的值));
unpivot函數:列轉行函數:
  語法:unpivot(新增值所在列的列名 for 新增列轉為行后所在列的列名 in (需轉為行的列名));
執行原理:將pivot函數或unpivot函數接在查詢結果集的后面。相當于對結果集進行處理。
注:另外有的人說in后面可以跟子查詢語句,這個我也不能肯定,但是我在這次例子中自己去嘗試了,是不可以的。ORA-00936:缺失表達式
pivot和unpivot函數
關于這一點,有興趣的小伙伴可以自己私下再去嘗試一下!

今天就先到這里吧,至于動態的行轉列我們下次在討論!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

盐亭县| 卓尼县| 崇明县| 海口市| 二连浩特市| 郴州市| 嘉善县| 曲阜市| 祁阳县| 乌海市| 大邑县| 丰县| 息烽县| 濮阳市| 大兴区| 仁寿县| 铜鼓县| 清原| 崇仁县| 广东省| 沾益县| 昔阳县| 桂阳县| 阜新| 崇文区| 石城县| 大渡口区| 黄浦区| 钟祥市| 旺苍县| 鄢陵县| 桑日县| 从化市| 象州县| 浦江县| 信阳市| 怀远县| 商都县| 河西区| 大方县| 花垣县|