Oracle SQL where子句

时间:2017-12-12 12:10:14

标签: oracle where

我想选择所有客户(id_cust属性)和可获得的收入总和(收入归属),这些客户在2016年具有交易(收入)(incomedate attrib)但在2017年没有交易(收入)所以所有交易都在一张表中。

id_cust  income   incomedate
123      101       2/5/2016
123      211       6/1/2017
221      900       9/7/2017
221      300       8/9/2016
....

2 个答案:

答案 0 :(得分:0)

每位客户的收入总和

SharedPreferences

每位客户每年的收入总和

select sum(income),id_cust
from customertable
group by id_cust

答案 1 :(得分:0)

您可以尝试如下:

select t1.id_cust, sum(t1.income)
from customertable t1
WHERE 
to_char(t1.incomedate, 'YYYY') = '2016'
and not exists (
      SELECT 1
      FROM customertable t2
      WHERE t2.id_cust = t1.id_cust
      AND to_char(t2.incomedate,'YYYY') = '2017'
)
group by t1.id_cust;

希望有所帮助。