欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Oracle中pivot函數(shù)圖文實例詳解

 更新時間:2023年05月10日 15:44:31   作者:實澤有之,無澤虛之  
pivot操作是一種數(shù)據(jù)處理方法,可以將一個表中的行數(shù)據(jù)轉換為列數(shù)據(jù),這種轉換對于表格數(shù)據(jù)的分析和展示非常有用,下面這篇文章主要給大家介紹了關于Oracle中pivot函數(shù)的相關資料,需要的朋友可以參考下

【基本介紹】

【格式】:pivot(聚合函數(shù) for 需要轉為列的字段名 in(需要轉為列的字段值))

【說明】:實現(xiàn)將指定字段的字段值轉換為列的效果。

【環(huán)境】:如下圖是樣例展示所使用的oracle版本。 

【準備樣例數(shù)據(jù)】

樣例數(shù)據(jù)如下圖所示:

NAME-學生姓名,SUBJECT-考試科目,GRADES-考試成績。

【樣例展示1】

實行如下sql語句:

select * from T_Student_Grades
pivot
(
sum(grades)
for name in('張三','李四','王五')
)

返回結果如下:按指定科目統(tǒng)計所有學生的總成績,并將學生姓名字段行轉列顯示(此時雖然用到了聚合函數(shù)sum,由于SUBJECT字段也一并顯示,因此sum函數(shù)并沒有起到效果,顯示依舊是每一個學生的各科具體成績)。

【樣例展示2】

實行如下sql語句:

select * from T_Student_Grades
pivot
(
avg(grades)
for name in ('張三' as 張三,'李四' as 李四,'王五' as 王五)
)

返回結果如下:按指定科目統(tǒng)計所有學生的平均成績,并將學生姓名字段行轉列,顯示別名(此時雖然用到了聚合函數(shù)avg,由于SUBJECT字段也一并顯示,因此avg函數(shù)并沒有起到效果,顯示依舊是每一個學生的各科具體成績)。

【樣例展示3】

實行如下sql語句:

select * from (select name,grades from T_Student_Grades)
pivot
(
sum(grades)
for name in ('張三','李四','王五')
)

 返回結果如下:統(tǒng)計每一個學生的所有科目總成績,并將學生姓名字段行轉列(SUBJECT字段沒有顯示)。

【樣例展示4】

實行如下sql語句:

select * from T_Student_Grades
pivot
(
max(grades)
for name in ('張三' as 張三,'李四' as 李四,'王五' as 王五)
)
where subject='數(shù)學'

 返回結果如下:按指定科目統(tǒng)計所有學生的最高成績,并將學生姓名字段行轉列,并且只顯示數(shù)學這一科目的成績(此時雖然用到了聚合函數(shù)max,由于SUBJECT字段也一并顯示,因此max函數(shù)并沒有起到效果,依舊是顯示每一個學生的各科具體成績)。

【樣例展示5】

實行如下sql語句:

?select * from T_Student_Grades
pivot
(
min(grades)
for name in ('張三' as 張三,'李四' as 李四,'王五' as 王五)
)
where 張三='90'

 返回結果如下:按指定科目統(tǒng)計所有學生的最低成績,并將學生姓名字段行轉列,并且只顯示數(shù)學這一科目的成績(此時雖然用到了聚合函數(shù)max,由于SUBJECT字段也一并顯示,因此max函數(shù)并沒有起到效果,依舊是顯示每一個學生的各科具體成績)。

【樣例展示6】

實行如下sql語句(in中使用子查詢):

select * from T_Student_Grades
pivot
(
count(grades)
for name in (select distinct name from T_Student_Grades)
)

報錯提示:ORA-00936:確實表達式,如下圖所示,看來in不支持子查詢。

總結

到此這篇關于Oracle中pivot函數(shù)詳解的文章就介紹到這了,更多相關Oracle pivot函數(shù)詳解內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Oracle SqlPlus設置Login.sql的技巧

    Oracle SqlPlus設置Login.sql的技巧

    sqlplus在啟動時會自動運行兩個腳本:glogin.sql、login.sql這兩個文件,接下來通過本文給大家介紹Oracle SqlPlus設置Login.sql的技巧,對oracle sqlplus設置相關知識感興趣的朋友一起學習吧
    2016-01-01
  • Oracle分組函數(shù)之ROLLUP的基本用法

    Oracle分組函數(shù)之ROLLUP的基本用法

    這篇文章主要給大家介紹了關于Oracle分組函數(shù)之ROLLUP的基本用法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Oracle數(shù)據(jù)庫具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-07-07
  • 給Oracle添加split和splitstr函數(shù)的方法

    給Oracle添加split和splitstr函數(shù)的方法

    最近項目中有很多需要做批量操作的需求,客戶端把一組逗號分隔的ID字符串傳給數(shù)據(jù)庫,存儲過程就需要把它們分割,然后逐個處理
    2012-11-11
  • 使用PLSQL遠程連接Oracle數(shù)據(jù)庫的方法(內網穿透)

    使用PLSQL遠程連接Oracle數(shù)據(jù)庫的方法(內網穿透)

    Oracle數(shù)據(jù)庫來源于知名大廠甲骨文公司,是一款通用數(shù)據(jù)庫系統(tǒng),能提供完整的數(shù)據(jù)管理功能,而Oracle數(shù)據(jù)庫時關系數(shù)據(jù)庫的典型代表,其數(shù)據(jù)關系設計完備,這篇文章主要介紹了使用PLSQL遠程連接Oracle數(shù)據(jù)庫的方法(內網穿透),需要的朋友可以參考下
    2023-03-03
  • 基于ora2pg遷移Oracle19C到postgreSQL14的全過程

    基于ora2pg遷移Oracle19C到postgreSQL14的全過程

    ora2pg是一個開源工具,可將Oracle數(shù)據(jù)庫模式轉換為PostgreSQL格式,支持導出數(shù)據(jù)庫絕大多數(shù)對象類型,本文就給大家介紹了基于ora2pg遷移Oracle19C到postgreSQL14的全過程,文中有詳細的代碼示例,需要的朋友可以參考下
    2023-11-11
  • Oracle顯示游標的使用及游標for循環(huán)

    Oracle顯示游標的使用及游標for循環(huán)

    本篇文章給大家介紹oracle顯示游標的使用及游標for循環(huán),當查詢返回單行記錄時使用隱式游標,查詢返回多行記錄并逐行進行處理時使用顯式游標,對本文感興趣的朋友一起學習吧
    2015-11-11
  • 深刻理解Oracle數(shù)據(jù)庫的啟動和關閉

    深刻理解Oracle數(shù)據(jù)庫的啟動和關閉

    深刻理解Oracle數(shù)據(jù)庫的啟動和關閉...
    2007-03-03
  • 數(shù)據(jù)庫查詢排序使用隨機排序結果示例(Oracle/MySQL/MS SQL Server)

    數(shù)據(jù)庫查詢排序使用隨機排序結果示例(Oracle/MySQL/MS SQL Server)

    數(shù)據(jù)庫查詢排序使用隨機排序結果示例,這里提供了Oracle/MySQL/MS SQL Server三種數(shù)據(jù)庫的示例
    2013-12-12
  • oracle基本查詢操作子查詢用法實例分析

    oracle基本查詢操作子查詢用法實例分析

    這篇文章主要介紹了oracle基本查詢操作子查詢用法,結合實例形式分析了oracle數(shù)據(jù)庫子查詢相關概念、原理、語法、使用技巧與操作注意事項,需要的朋友可以參考下
    2020-02-02
  • Oracle存儲過程案例詳解

    Oracle存儲過程案例詳解

    這篇文章主要介紹了Oracle存儲過程案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-08-08

最新評論