У меня следующий запрос:
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 не содержит значений времени, а идентификаторы строк автоматически нумеруются).Запрос работает, но я хотел бы выбрать последнее введенное значение для данной календарной недели , а не для данного дня.
Например, вот что возвращает текущий запрос:
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
Есть идеи?