如下圖,是一個證券公司的經紀人提成,提成方案由經紀人簽約的時候和營業部商討,所以整個公司下來,提成分段方式會有多種,但是一般營業部會堅持一定原則,保證不使分段方式出現過多的情況。
現在我所在的專案組,要替換之前廠商的老系統,老系統給每個人都寫一套提成分段方式,到了新系統,我們規劃整理出不同的提成分段方式,然后每個人去對應相應的分段方式,減少資料的冗余。現在想統計出多少中分段方式,但是想了許久想不出統計sql,求助大神幫忙。

uj5u.com熱心網友回復:
圖里,5個經紀人,用了兩種提成分段方式。就是想統計出這種效果。uj5u.com熱心網友回復:
沒看懂
uj5u.com熱心網友回復:
可能我闡述業務的時候說的比較繁瑣了點,
其實就是統計有多少中紅框圈出來的東西。
一個紅框代表一個分段方式 ,同一個分段方式的意思是,1.分檔一樣,如上圖紅框都是分了5檔,2.每一檔的 上限 和下限 提成比例都要一樣.
uj5u.com熱心網友回復:
select count(distinct fd) from
(select 經紀人編碼,WMSYS.WM_CONCAT(分段上限-分段下限) fd
from tab
group by 經紀人編碼);
可以先考慮把每個經紀人的分段上下線合并成一行,再來處理
uj5u.com熱心網友回復:
我考慮過這種方式,但是會不會出現這樣的情況
行轉列曾經碰到這樣的情況
name X
A 1
A 2
A 3
B 1
B 2
B 3
WM_CONCAT(X) 對于A 來說 存的 是 123,對于B來說存的是312 之類的資料
uj5u.com熱心網友回復:
mark ...............uj5u.com熱心網友回復:
你要固定排序就用listagg,還可以更精確點把對應比例欄位也合并。在輸出中列出來select count(distinct fd||fd1) from
(select 經紀人編碼,listagg(分段上限-分段下限) within group(order by 分段上限-分段下限) fd,
listagg(對應比例) within group(order by 對應比例) fd1
from tab
group by 經紀人編碼);
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/115065.html
標籤:基礎和管理
上一篇:oracle 12c rac public ip建立連接拋出“The Network Adapter could not establish the conn”
下一篇:如何截取到每個月
