我有以下查询:TSQL按周选择最后一个值?
SELECT row_ID, value, date_added FROM dbo.Report WHERE salesman_ID = @salesman_ID AND row_ID IN (SELECT MAX(row_ID) FROM dbo.Report WHERE salesman_ID = @salesman_ID GROUP BY (date_added)) ORDER BY date_added ASC
这将选择在每天进入给定用户的最后一个值(DATE_ADDED列不包含时间值,而行ID autonumbered)。该查询的工作原理,但我想要做的是选择一个给定的日历周而不是给定的一天输入的最后一个值。
例如,这里就是当前的查询返回:
row_ID | value | date_added 1 | 25 | 7-5-2010 2 | 50 | 7-7-2010 5 | 40 | 7-15-2010 9 | 55 | 7-16-2010 11 | 60 | 7-27-2010
这是我想它返回:
value | week_of 50 | 7-4-2010 55 | 7-11-2010 60 | 7-22-2010
任何想法?
什么是您的日历周?每周开始是区域性的 - 有些是星期天,有些则是星期一... – 2010-08-05 16:23:39
对不起,我应该指定 - 周日。 – Ethan 2010-08-05 16:37:32