有表格如下:
日期date,城市city,銷售人員person, 銷售額sales
...
根據1月到2月的銷售額增長,出一張二維表,顯示銷售人員的個數分布,這個SQL怎么寫呀?
1萬以下,1-5萬,5萬以上
10%以下
10%-50%
50%以上
謝謝!
uj5u.com熱心網友回復:
樓主研究一下 行轉列。先百度下,有問題再追問。uj5u.com熱心網友回復:
感謝提點。如果用case then的方式轉,我每個case里面都套一個select,選出滿足增長額的行,then 后面又套一個select count,選出滿足增長率的行數?uj5u.com熱心網友回復:
create table salesamount (saledate date,city varchar2(60),saleperson varchar2(50), amount number);select * FROM (
select --saleperson ,
case when sum(a.amount/sumamount)<0.1 then '10%以下'
when sum(a.amount/sumamount)>0.5 then '50%以上'
else '10%-50%' end asum
,case when sum(a.amount)<10000 then '1萬以下'
when sum(a.amount)>50000 then '5萬以上'
else '1-5萬' end amo
from salesamount a
cross join (select sum(amount)sumamount from salesamount)b
group by saleperson)T
pivot(sum(1) for AMO IN('1萬以下','1-5萬','5萬以上'))A
____________________________________________
ASUM '1萬以下' '1-5萬' '5萬以上'
1 10%以下 1
2 10%-50% 2
3 50%以上 1
uj5u.com熱心網友回復:
case when 可以,具體可以百度下,只需要改成你的內容轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/106212.html
標籤:開發
