[英]SQL How to sum values of the same column until a threshold/condition is met?
[英]SQL - Sum Column until Other Column Condition
您可以為此使用conditional aggregation
:
select employee_id,
sum(case when days <= 30 then sales end) as sales30,
sum(sales) as allsales
from yourtable
group by employee_id
Select empid , sum (sales) as total ,
sum (case when days <=30 then sales else 0 end ) as sales_30
from SALES_DATA
GROUP BY empid
Select empid , sum (sales) as total ,
sum (case when days <=30 then sales
else 0 end ) as sales_30
from SALES_DATA
GROUP BY empid
在Oracle中,您可以嘗試此操作
WITH sale30 AS(選擇員工編號,SUM(sale)銷售WHERE日<= 30 GROUP BY employee_id),saleFinal AS(SELECT員工編號,SUM(sale)銷售額GROUP BY員工ID)SELECT sf.employee_id,s3.sale sale_30,sf.sale FROM salefinal sf,sale30 s3,sf.employee_id = s3.employee_id(+)
一般來說,您可以使用此
SELECT sf.employee_id,s3.sale sale_30,sf.sale FROM(選擇employee_id,SUM(sale)sale GROUP BY employee_id)sf,(SELECT employee_id,SUM(sale)sale WHERE day <= 30 GROUP BY employee_id)s3 WHERE SF .employee_id = s3.employee_id(+)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.