最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle中pivot函數(shù)示例詳解

 更新時(shí)間:2024年05月13日 09:13:32   作者:滕秋利  
PIVOT函數(shù)是Oracle數(shù)據(jù)庫中的一個(gè)聚合函數(shù),它可以將行數(shù)據(jù)轉(zhuǎn)換為列數(shù)據(jù),這篇文章主要介紹了Oracle中pivot函數(shù)示例詳解,需要的朋友可以參考下

【基本介紹】

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

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

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

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

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

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

【樣例展示1】

實(shí)行如下sql語句:

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

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

【樣例展示2】

實(shí)行如下sql語句:

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

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

【樣例展示3】

實(shí)行如下sql語句:

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

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

【樣例展示4】

實(shí)行如下sql語句:

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

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

【樣例展示5】

實(shí)行如下sql語句:

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

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

【樣例展示6】

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

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

報(bào)錯(cuò)提示:ORA-00936:確實(shí)表達(dá)式,如下圖所示,看來in不支持子查詢。

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

相關(guān)文章

  • Oracle如何通過表名查詢觸發(fā)器

    Oracle如何通過表名查詢觸發(fā)器

    這篇文章主要介紹了Oracle如何通過表名查詢觸發(fā)器方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • ORACLE數(shù)據(jù)庫中Rownum用法詳解

    ORACLE數(shù)據(jù)庫中Rownum用法詳解

    這篇文章主要介紹了ORACLE數(shù)據(jù)庫中ROWNUM用法詳解,對(duì)于rownum來說它是oracle系統(tǒng)順序分配為從查詢返回的行的編號(hào),且rownum不能以任何表的名稱作為前綴,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • oracle 批量刪除表數(shù)據(jù)的幾種方法

    oracle 批量刪除表數(shù)據(jù)的幾種方法

    這篇文章主要介紹了oracle 批量刪除表數(shù)據(jù)的幾種方法,幫助大家更好的理解和使用Oracle數(shù)據(jù)庫,感興趣的朋友可以了解下
    2020-10-10
  • Oracle實(shí)現(xiàn)某表隨機(jī)抽取數(shù)據(jù)(隨機(jī)性抽取)

    Oracle實(shí)現(xiàn)某表隨機(jī)抽取數(shù)據(jù)(隨機(jī)性抽取)

    這篇文章主要介紹了Oracle實(shí)現(xiàn)某表隨機(jī)抽取數(shù)據(jù)(隨機(jī)性抽取),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Oracle?CPU高的問題及分析

    Oracle?CPU高的問題及分析

    這篇文章主要介紹了Oracle?CPU高的問題及分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Oracle?觸發(fā)器trigger使用案例

    Oracle?觸發(fā)器trigger使用案例

    Oracle觸發(fā)器是使用者對(duì)Oracle數(shù)據(jù)庫的對(duì)象做特定的操作時(shí),觸發(fā)的一段PL/SQL程序代碼器,觸發(fā)器分為語句級(jí)觸發(fā)器和行級(jí)觸發(fā)器,本文通過案例給大家介紹觸發(fā)器使用,感興趣的朋友跟隨小編一起看看吧
    2022-02-02
  • ORACLE應(yīng)用經(jīng)驗(yàn)(1)

    ORACLE應(yīng)用經(jīng)驗(yàn)(1)

    ORACLE應(yīng)用經(jīng)驗(yàn)(1)...
    2007-03-03
  • oracle表被鎖定的完美解決方法

    oracle表被鎖定的完美解決方法

    ora-00031:session marked for kill處理oracle中殺不掉的鎖一些ORACLE中的進(jìn)程被殺掉后,狀態(tài)被置為”killed”,但是鎖定的資源很長時(shí)間不釋放,有時(shí)實(shí)在沒辦法,只好重啟數(shù)據(jù)庫?,F(xiàn)在小編給大家分享另外一種oracle表被鎖定的解決方法,需要的的朋友參考下吧
    2017-07-07
  • 深入Oracle的left join中on和where的區(qū)別詳解

    深入Oracle的left join中on和where的區(qū)別詳解

    本篇文章是對(duì)Oracle的left join中on和where的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • Oracle實(shí)現(xiàn)同表更新或插入的三種方案

    Oracle實(shí)現(xiàn)同表更新或插入的三種方案

    這篇文章主要給大家介紹了Oracle實(shí)現(xiàn)同表更新或插入的三種方案,文章通過代碼示例和圖文結(jié)合講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-11-11

最新評(píng)論

商城县| 西城区| 锡林郭勒盟| 大庆市| 察雅县| 紫金县| 乐昌市| 临江市| 林甸县| 鹤壁市| 洛宁县| 三门县| 莒南县| 诸城市| 沅陵县| 枣庄市| 丽水市| 宁晋县| 海口市| 浠水县| 垦利县| 丰台区| 荔波县| 福建省| 尤溪县| 白山市| 西畴县| 额尔古纳市| 铁岭县| 汉寿县| 察哈| 格尔木市| 仁布县| 德庆县| 河津市| 荔浦县| 类乌齐县| 阳东县| 油尖旺区| 东方市| 马龙县|