oracle數(shù)據(jù)庫連續(xù)相同數(shù)據(jù)的統(tǒng)計方法
今天小編就為大家分享一篇關于Oracle連續(xù)相同數(shù)據(jù)的統(tǒng)計,內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧。今天復習一下之前用到的連續(xù)相同數(shù)...
今天小編就為大家分享一篇關于Oracle連續(xù)相同數(shù)據(jù)的統(tǒng)計,內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧。
今天復習一下之前用到的連續(xù)相同數(shù)據(jù)的統(tǒng)計。
首先,創(chuàng)建一個簡單的測試表,這里過程就略過了,直接上表(真的是以簡單為主,哈哈…)
第一種寫法row_number()
:
SELECT
val,
COUNT
(*)
FROM
(
SELECT
ID,val,
row_number() OVER(
ORDER
BY
ID)-row_number() OVER(PARTITION
BY
val
ORDER
BY
ID) x
FROM
LCY )
GROUP
BY
val,x
ORDER
BY
MIN
(ID);
第二種rank()
:
SELECT
val,
COUNT
(*)
FROM
(
SELECT
ID,val,
rank() OVER(
ORDER
BY
ID)-rank() OVER(PARTITION
BY
val
ORDER
BY
ID) x
FROM
LCY)
GROUP
BY
val,x
ORDER
BY
MIN
(ID);
第三種dense_rank()
:
SELECT
val,
COUNT
(*)
FROM
(
SELECT
ID,val,
dense_rank() OVER(
ORDER
BY
ID)-dense_rank() OVER(PARTITION
BY
val
ORDER
BY
ID) x
FROM
LCY )
GROUP
BY
val,x
ORDER
BY
MIN
(ID);
結果:
三者在這里的用法只是換湯不換藥,但是在其他的需求里還是有區(qū)別的,比如成績排名。
本章涉及到的知識點是分析函數(shù)、聚合函數(shù),除此之外還有數(shù)據(jù)分析函數(shù)和統(tǒng)計求和函數(shù)。
簡單介紹一下:
聚合函數(shù)
- SUM :該函數(shù)計算組中表達式的累積和
- MIN :在一個組中的數(shù)據(jù)窗口中查找表達式的最小值
- MAX :在一個組中的數(shù)據(jù)窗口中查找表達式的最大值
- AVG :用于計算一個組和數(shù)據(jù)窗口內(nèi)表達式的平均值。
- COUNT :對一組內(nèi)發(fā)生的事情進行累積計數(shù)
分析函數(shù)
- RANK :根據(jù)ORDER BY子句中表達式的值,從查詢返回的每一行,計算它們與其它行的相對位置
- DENSE_RANK :根據(jù)ORDER BY子句中表達式的值,從查詢返回的每一行,計算它們與其它行的相對位置
- FIRST :從DENSE_RANK返回的集合中取出排在最前面的一個值的行
- LAST :從DENSE_RANK返回的集合中取出排在最后面的一個值的行
- FIRST_VALUE :返回組中數(shù)據(jù)窗口的第一個值
- LAST_VALUE :返回組中數(shù)據(jù)窗口的最后一個值。
- LAG :可以訪問結果集中的其它行而不用進行自連接
- LEAD :LEAD與LAG相反,LEAD可以訪問組中當前行之后的行
- ROW_NUMBER:返回有序組中一行的偏移量,從而可用于按特定標準排序的行號
數(shù)據(jù)分析函數(shù)
- STDDEV :計算當前行關于組的標準偏離
- STDDEV_POP:該函數(shù)計算總體標準偏離,并返回總體變量的平方根
- STDDEV_SAMP:該函數(shù)計算累積樣本標準偏離,并返回總體變量的平方根
- VAR_POP :該函數(shù)返回非空集合的總體變量(忽略null)
- VAR_SAMP :該函數(shù)返回非空集合的樣本變量(忽略null)
- VARIANCE :如果表達式中行數(shù)為1,則返回0,如果表達式中行數(shù)大于1,則返回VAR_SAMP
- COVAR_POP :返回一對表達式的總體協(xié)方差
- COVAR_SAMP:返回一對表達式的樣本協(xié)方差
- CORR :返回一對表達式的相關系數(shù)
- CUME_DIST :計算一行在組中的相對位置
- NTILE :將一個組分為"表達式"的散列表示
- PERCENT_RANK:和CUME_DIST(累積分配)函數(shù)類似
- PERCENTILE_DISC:返回一個與輸入的分布百分比值相對應的數(shù)據(jù)值
- PERCENTILE_CONT:返回一個與輸入的分布百分比值相對應的數(shù)據(jù)值
- RATIO_TO_REPORT:該函數(shù)計算expression/(sum(expression))的值,它給出相對于總數(shù)的百分比
- REGR_ (Linear Regression) Functions:這些線性回歸函數(shù)適合最小二乘法回歸線,有9個不同的回歸函數(shù)可使用
統(tǒng)計求和函數(shù)
CUBE :按照OLAP的CUBE方式進行數(shù)據(jù)統(tǒng)計,即各個維度均需統(tǒng)計
下一篇文章介紹三者的區(qū)別,還有其他一些常用的分析函數(shù)和聚合函數(shù)。
總結
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,
- Oracle數(shù)據(jù)庫多條sql執(zhí)行語句出現(xiàn)錯誤時的控制方式
- Oracle數(shù)據(jù)庫基礎:程序中調用sqlplus的方式
- oracle數(shù)據(jù)庫通過sqlplus連接的幾種方式介紹
- oracle數(shù)據(jù)庫常用分析函數(shù)與聚合函數(shù)的用法
- 關于oracle數(shù)據(jù)庫全角數(shù)字轉換半角數(shù)字方法
- 詳解SQL Server 2012數(shù)據(jù)庫備份與還原的教程
- 利用SQL Server Management Studio(SSMS)復制數(shù)據(jù)庫
- SQL Server數(shù)據(jù)庫中Substring函數(shù)的用法實例詳解
- MsSql數(shù)據(jù)庫使用SQL plus創(chuàng)建DDL和DML操作方法
- 關于PHP往mysql數(shù)據(jù)庫中批量插入數(shù)據(jù)實例教程
Oracle數(shù)據(jù)庫多條sql執(zhí)行語句出現(xiàn)錯誤時的控制方式
多條sql執(zhí)行時如果在中間的語句出現(xiàn)錯誤,后續(xù)會不會直接執(zhí)行,如何進行設定,以及其他數(shù)據(jù)庫諸如Mysql是如何對應的,這篇文章將會進行簡單的整理和說明。環(huán)境準備使用Oracle的精簡...
Oracle數(shù)據(jù)庫基礎:程序中調用sqlplus的方式
通過sqlplus可以連接數(shù)據(jù)庫根據(jù)用戶權限進行數(shù)據(jù)或者設定操作,但是需要交互操作并返回結果,這篇文章介紹一下如何在程序中使用sqlplus。環(huán)境準備使用Oracle的精簡版創(chuàng)建docker...
oracle數(shù)據(jù)庫通過sqlplus連接的幾種方式介紹
分享一篇關于Oracle通過sqlplus連接數(shù)據(jù)庫的方式,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...
oracle數(shù)據(jù)庫常用分析函數(shù)與聚合函數(shù)的用法
今天小編就為大家分享一篇關于oracle數(shù)據(jù)庫常用分析函數(shù)與聚合函數(shù)的用法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧。應之前的...
關于oracle數(shù)據(jù)庫全角數(shù)字轉換半角數(shù)字方法
今天小編就為大家分享一篇關于Oracle全角數(shù)字轉換半角數(shù)字,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧數(shù)據(jù)庫表 test 字段 id n...
詳解SQL Server 2012數(shù)據(jù)庫備份與還原的教程
文章主要為大家詳細介紹了SQL Server2012數(shù)據(jù)庫備份和還原的教程,選擇要備份的數(shù)據(jù)庫“accountInfo”,點擊鼠標右鍵 → 任務 → 備份。...
利用SQL Server Management Studio(SSMS)復制數(shù)據(jù)庫
文章主要為大家詳細介紹了如何利用SQL Server Management Studio復制數(shù)據(jù)庫,具有一定的參考價值,感興趣的小伙伴們可以參考一下。...
SQL Server數(shù)據(jù)庫中Substring函數(shù)的用法實例詳解
substring操作的字符串,開始截取的位置,返回的字符個數(shù),本文通過簡單實例給大家介紹了SqlServer數(shù)據(jù)庫中Substring函數(shù)的用法,感興趣的朋友一起看看吧...
MsSql數(shù)據(jù)庫使用SQL plus創(chuàng)建DDL和DML操作方法
文章主要介紹了使用sqlplus創(chuàng)建DDL和DML操作方法,需要的朋友可以參考下。在window進入命令行模式敲sqlplus就會...
關于PHP往mysql數(shù)據(jù)庫中批量插入數(shù)據(jù)實例教程
文章主要給大家介紹了關于php往mysql中批量插入數(shù)據(jù)的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧...