91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

馆陶县| 三台县| 天津市| 镇原县| 读书| 通州区| 包头市| 科技| 筠连县| 天门市| 游戏| 灵宝市| 塘沽区| 元谋县| 隆化县| 清远市| 文化| 扬州市| 武山县| 宿迁市| 高陵县| 广德县| 武平县| 共和县| 东阳市| 英山县| 竹山县| 巴东县| 闸北区| 梅河口市| 永丰县| 沽源县| 平安县| 普安县| 禹州市| 安远县| 宽城| 揭西县| 右玉县| 南部县| 饶阳县|