我正在尝试使用 MSSQL 2008 在指定的日期窗口中获取运行(因为没有更好的术语)值的最旧和最新值,我正在努力。表格如下所示:
Job Date Percent_complete
--- ---- ----------------
1 1/5/2013 5
2 1/10/2013 5
2 1/25/2013 15
2 2/15/2013 25
3 2/15/2013 5
1 2/10/2013 10
1 2/23/2013 20
1 2/24/2013 18
4 1/12/2013 40
例如,在我的查询中,我想询问 2/1/2013 - 2/28/2013 最旧和最新的 percent_complete 并获得:
Job Old New
--- --- ---
1 5 18
2 15 25
3 0 5
4 40 40
...所以这里的问题是开始日期之前的最后一个 percent_complete 值必须结转,如果没有记录(例如作业 3),则需要假设为 0。此外,该数字可能会从高位向后退,就像工作 1 一样......所以min(complete)
不会max(complete)
让我们到达那里。此外,我还为 Job 4 添加了一条记录,以说明报告窗口中没有记录时的预期结果。