Ran*_*som 3 sql date-arithmetic sql-server-2008
根据我的数据,我有个人在不同的日期多次进行评估.它看起来像这样:
??????????????????????????????????????????
? Person ? ID Number ? Date ? Score ?
? John ? 134 ? 7/11/2013 ? 18 ?
? John ? 134 ? 8/23/2013 ? 16 ?
? John ? 134 ? 9/30/2013 ? 16 ?
? Kate ? 887 ? 2/28/2013 ? 21 ?
? Kate ? 887 ? 3/16/2013 ? 19 ?
? Bill ? 990 ? 4/18/2013 ? 15 ?
? Ken ? 265 ? 2/12/2013 ? 23 ?
? Ken ? 265 ? 4/25/2013 ? 20 ?
? Ken ? 265 ? 6/20/2013 ? 19 ?
? Ken ? 265 ? 7/15/2013 ? 19 ?
??????????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)
我希望在最后有一个专栏,用于计算自该人第一次评估以来的天数.如果那更容易的话,我也会为那个人的上一次评估结算天数.
理想情况下它看起来像这样:
?????????????????????????????????????????????????????????????
? Person ? ID Number ? Date ? Score ? Days Since First ?
? John ? 134 ? 7/11/2013 ? 18 ? 0 ?
? John ? 134 ? 8/23/2013 ? 16 ? 43 ?
? John ? 134 ? 9/30/2013 ? 16 ? 81 ?
? Kate ? 887 ? 2/28/2013 ? 21 ? 0 ?
? Kate ? 887 ? 3/16/2013 ? 19 ? 16 ?
? Bill ? 990 ? 4/18/2013 ? 15 ? 0 ?
? Ken ? 265 ? 2/12/2013 ? 23 ? 0 ?
? Ken ? 265 ? 4/25/2013 ? 20 ? 72 ?
? Ken ? 265 ? 6/20/2013 ? 19 ? 128 ?
? Ken ? 265 ? 7/15/2013 ? 19 ? 153 ?
?????????????????????????????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)
我正在使用Microsoft SQL Server 2008
select *
, datediff(day, min(Date) over (partition by [ID Number]), Date)
from YourTable
Run Code Online (Sandbox Code Playgroud)