日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Oracle over函数学习

發(fā)布時間:2024/1/17 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle over函数学习 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

sql over的作用及用法

RANK ( ) OVER ( [query_partition_clause] order_by_clause ) DENSE_RANK ( ) OVER ( [query_partition_clause] order_by_clause )

  可實現(xiàn)按指定的字段進(jìn)行分組,然后按照另一個字段在分組內(nèi)進(jìn)行排序,其中PARTITION BY 為分組字段,ORDER BY 指定排序字段。over不能單獨(dú)使用,要和分析函數(shù):rank(),dense_rank(),row_number()等一起使用。其參數(shù):over(partition by columnname1 order by columnname2)。含義:按columname1指定的字段進(jìn)行分組,然后在分組的基礎(chǔ)之上按照columnname2字段在分組內(nèi)進(jìn)行排序。

例如:EMP表中,有三個個部門的記錄:DEPTNO分別為10、20和30。以下SQL就是指在部門10、20和30三個部門中按照薪水進(jìn)行排序。

select DEPTNO,SAL,rank() OVER(partition by DEPTNO order by SAL DESC) from EMP

  同時需要注意rank()、dense_rank()和Row_number()的區(qū)別:

  • row_number() 是沒有重復(fù)值的排序(即使兩天記錄相等也是不重復(fù)的),可以利用它來實現(xiàn)分頁???
  • dense_rank() 是連續(xù)排序,兩個第二名仍然跟著第三名???
  • rank() 是跳躍排序,兩個第二名下來就是第四名。

? 例如如下dense_rank和上面rank()語句結(jié)果的區(qū)別:

select DEPTNO,SAL,DENSE_RANK() OVER(partition by DEPTNO order by SAL) from EMP

 

  對于row_number()結(jié)果如下:

select DEPTNO,SAL,row_Number() OVER(partition by DEPTNO order by SAL DESC) from EMP

  

  同時over語句也可以和SUM()語句一起使用,不同的OVER()語句代表不同的求和方式。還以EMP表為例:

  • sum(sal) over (partition by deptno order by ename) 按部門“連續(xù)”求總和
  • sum(sal) over (partition by deptno) 按部門求總和
  • sum(sal) over (order by deptno,ename) 不按部門“連續(xù)”求總和
  • sum(sal) over () 不按部門,求所有員工總和,效果等同于sum(sal)。
select DEPTNO,SAL,SUM(SAL) OVER() 總和,SUM(SAL) OVER(ORDER by SAL) 連續(xù)求和 from EMP

 

select DEPTNO,SAL,SUM(SAL) OVER(partition by deptno) 部門總和,SUM(SAL) OVER(partition by deptno ORDER by SAL) 部門連續(xù)求和 from EMP

  

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的Oracle over函数学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。