over partition by 開窗函式簡介

2022-09-14 02:36:08 字數 1395 閱讀 5626

簡單舉例:

select code,kpi_type,plan_value_num,

row_number()over(partition by code,kpi_type order by plan_value_num desc)rowno  from  fs_target_yp_kpi 

分析:code,kpi_type,plan_value_num 記錄後面開窗函式後的規律值

partition by code,kpi_type 按照這兩列分組

order by plan_value_num desc 按照此欄位降序排序

row_number() 記錄每組排序後編號

其它:decode()用法

select id,decode(inparam,'becomparedparam','值1' ,'值2') name from bank

解讀:如果第乙個引數inparam=='becomparedparam',則select得到的name顯示為值1,

如果第乙個引數inparam!='becomparedparam',則select得到的name顯示為值2

補充:select *,row_number()over(partition by region_grade order by parent_region_code,region_code) from lbs_region_code_tbl where

parent_region_code='12'

查詢二級機構下面的**機構

select

*,row_number() over(

partition by region_grade

order by

parent_region_code,

region_code

)from

lbs_region_code_tbl

where region_grade='3' and parent_region_code in (select region_code from lbs_region_code_tbl where parent_region_code in ('1') and region_grade='2'

and region_code='12')

查詢二級機構下面的**機構

select c.um_no,c.name,a.region_code,a.description,b.dept_code from lbs_region_code_tbl a,sws_fs_dept b,sws_fs_user c where a.region_code=b.region_code and b.dept_code=c.dept_code

and c.um_no='wujiangliu345'

查詢人員下面的區域碼和部門編碼

OVER PARTITION BY 函式介紹

鏈結 開窗函式oevr 用於計算基於組的某種聚合值,它和聚合函式的不同之處是 對於每個組返回多行,而聚合函式對於每個組只返回一行。over order by salary 按照salary排序進行累計,order by是個預設的開窗函式 over partition by deptno 按照部門分割...

rank 開窗函式 排序類開窗函式

1,row number over 排序,連續 select score,row number over from sc 按原始 的成績順序進行排序 原始 成績順序 先將分數從大到小排序,分數相同,排名不同 select score,row number over order by score fr...

oracle開窗函式

1.使用row number分頁,查詢第1 10條資料 select t.custid,t.companyname,t.address,t.city from select row number over order by custid as rownum,custid,companyname,ad...