数据库表结构如下,请编写sql计算该表中对应数据的年化收益。年化收益公式:年化收益=收益/年初至当日天数*当年实际天数。
展示字段:日期,账户代码,收益,年化收益。
字段名 中文含义 字段类型
D_DATE 日期 DATE
VC_FUNDCODE 账户代码 VARCHAR2(20)
F_INCOME 收益 NUMBER(21,4)
年初至当日天数?怎么统计。
题目没说如果不是年初第一天开始的情况,我先假设至少都是从年初第一天就开始有数据的吧。
另外,也没说数据库类型,根据这个字段类型,我就当你是在问oracle的吧。
假设要查某一个账户代码的
select sum(F_INCOME) /(trunc(sysdate)-trunc(sysdate,'yyyy')+1) *(to_date(to_char(sysdate,'yyyy')||'1231','yyyymmdd')-trunc(sysdate,'yyyy')+1) from 表
where VC_FUNDCODE='xxxx' and D_DATE>=trunc(sysdate,'yyyy')
假设要查所有账户代码的
select VC_FUNDCODE ,sum(F_INCOME) /(trunc(sysdate)-trunc(sysdate,'yyyy')+1) *(to_date(to_char(sysdate,'yyyy')||'1231','yyyymmdd')-trunc(sysdate,'yyyy')+1) from 表
where D_DATE>=trunc(sysdate,'yyyy') group by VC_FUNDCODE