微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQL 如何从本月至今的表中计算单日收益/损失

如何解决SQL 如何从本月至今的表中计算单日收益/损失

我有一个表格,其中包含每月迄今为止的总收益损失,其中包含各种投资组合、证券标识符和业务单位。每个月,期间开始日期都会刷新到新月的开始,但该表通常一次包含整个季度的数据。如何编写查询来计算按投资组合、代码和业务部门分组的所有“结束日期”的单日收益损失?

Portfolio   Fund Legal Entity   Security IDENTIFIER BUSInesS UNIT   GAIN/LOSS   Start Date  End Date
Portfolio1  LegalEntity1    Ticker1 PUBLIC   (4,760,588.0)  1-Feb   27-Feb
Portfolio1  LegalEntity1    Ticker1 PUBLIC   9,123,144.0    1-Feb   28-Feb
Portfolio1  LegalEntity1    Ticker1 PUBLIC   7,470,013.0    1-Mar   1-Mar
Portfolio1  LegalEntity1    Ticker1 PUBLIC   24,466,723.0   1-Mar   2-Mar
Portfolio1  LegalEntity1    Ticker1 PUBLIC   4,272,096.0    1-Mar   3-Mar
Portfolio1  LegalEntity1    Ticker1 PUBLIC   14,043,454.0   1-Mar   4-Mar
Portfolio1  LegalEntity1    Ticker1 PUBLIC   17,631,760.0   1-Mar   5-Mar

解决方法

如果您的 dbms 支持,您可以使用延迟:

SELECT Portfolio,Fund_Legal_Entity,SECURITY_IDENTIFIER,BUSINESS_UNIT,GAIN_LOSS,Start_Date,End_Date,(gain_loss-lag(GAIN_LOSS) OVER (PARTITION BY Portfolio,BUSINESS_UNIT 
       ORDER BY end_date)) Daily_gain_loss
FROM tablename

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。