这是我第一次在这样的论坛上,我真的需要帮助。
我有一张看起来像这样的桌子
CREW_ITEM_ID | RANK_SORTINGSEQ| YearsInRank
-------------------------------------------
CREW-001 | 204 | 100
CREW-001 | 205 | 200
CREW-002 | 101 | 300
CREW-002 | 102 | 400
CREW-002 | 103 | 500
CREW-003 | 105 | 600
CREW-003 | 106 | 700
我必须按等级和船员项目 ID 对 YearsInRank 列(实际上是天,但还可以)求和
较高的排名(=较低的 RANK_SORTINGSEQ 数字)当然会增加排名中的年份
我想从上面的例子中得到的结果是
CREW_ITEM_ID | RANK_SORTINGSEQ| YearsInRank
-------------------------------------------
CREW-001 | 204 | 100
CREW-001 | 205 | 300
CREW-002 | 101 | 300
CREW-002 | 102 | 700
CREW-002 | 103 | 1200
CREW-003 | 105 | 600
CREW-003 | 106 | 1300
因为例如
- 船员-002 103 = 300+400+500 = 1200
- 船员-002 102 = 300+400 = 700
- 船员-002 101 = 300
我已经在 excel 中创建了它并且它可以工作,但是在 SQL Server 中我迷路了
=SUMIFS(EXP[DURATION],EXP[CREW_ITEM_ID],[@[CREW_ITEM_ID]],EXP[RANK_SORTSEQ],"<="&[@[RANK_SORTSEQ]])/365
(持续时间 = 列 YearsInRank)
非常感谢,克里斯