【基本介紹】
【格式】:group by rollup(字段1,字段2,字段3,...,字段n)
【說(shuō)明】:rollup主要用于分組匯總,如果rollup中有n個(gè)字段,則會(huì)分別按【字段1】、【字段1,字段2】,【字段1,字段2,字段3】,...,【字段1,字段2,字段3,...字段n】進(jìn)行分組統(tǒng)計(jì),同時(shí)還會(huì)去掉所有分組字段進(jìn)行一次統(tǒng)計(jì),因此會(huì)有n+1次分組,也就是說(shuō),統(tǒng)計(jì)的分組維度是從左到右依次增加一列,從0列一直到n列。
【環(huán)境】:如下圖是本次樣例展示所使用的oracle版本。
select * from v$version
【準(zhǔn)備樣例數(shù)據(jù)】
樣例數(shù)據(jù)如下圖所示:
CLASS-班級(jí),STUDENT-學(xué)生,SUBJECT-學(xué)科,GRADES-成績(jī)。
?
【樣例展示1】
執(zhí)行如下sql語(yǔ)句:
select CLASS,sum(GRADES) from T_STUDENT_GRADES group by rollup(CLASS)
返回結(jié)果如下圖所示:按班級(jí)對(duì)學(xué)生成績(jī)進(jìn)行分組計(jì)算總和,并將所有班級(jí)的總成績(jī)進(jìn)行匯總
?
【樣例展示2】
執(zhí)行如下sql語(yǔ)句:
?select CLASS,STUDENT,sum(GRADES) from T_STUDENT_GRADES group by rollup(CLASS,STUDENT)
返回結(jié)果如下圖所示:按班級(jí)、學(xué)生兩個(gè)維度對(duì)成績(jī)進(jìn)行分組計(jì)算總和,并按班級(jí)將所有學(xué)生的成績(jī)進(jìn)行匯總,同時(shí)將所有班級(jí)的總成績(jī)進(jìn)行匯總
?
?
【樣例展示3】
執(zhí)行如下sql語(yǔ)句:
?select CLASS,STUDENT,SUBJECT,sum(GRADES) from T_STUDENT_GRADES group by rollup(CLASS,STUDENT,SUBJECT)
返回結(jié)果如下圖所示:按班級(jí)、學(xué)生、科目三個(gè)維度對(duì)成績(jī)進(jìn)行分組統(tǒng)計(jì),并按班級(jí)、科目將學(xué)生的所有科目的成績(jī)進(jìn)行匯總,還按班級(jí)將所有學(xué)生的成績(jī)進(jìn)行匯總,同時(shí)將所有班級(jí)的總成績(jī)進(jìn)行匯總文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-677514.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-677514.html
到了這里,關(guān)于11.Oracle中rollup函數(shù)詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!