1
我有行日期列。我需要找到最接近每週結束的值。查找最近的最後一天的日期
例如: 對於1月3日 - 9日的第4,5,6月份的價格,將於1月6日返回,而第10周至16月1日的價格將從10,11月份返回至1月11日。
所以出含有4,5,6,10,11揚行,查詢應該返回週四6和週二1月11日
希望這是有道理的。
我有行日期列。我需要找到最接近每週結束的值。查找最近的最後一天的日期
例如: 對於1月3日 - 9日的第4,5,6月份的價格,將於1月6日返回,而第10周至16月1日的價格將從10,11月份返回至1月11日。
所以出含有4,5,6,10,11揚行,查詢應該返回週四6和週二1月11日
希望這是有道理的。
您需要說明您正在使用哪個RDBMS以獲得更好的答案。除非您使用SET DATEFIRST改變周的第一天,「周」,從週日至週六運行:
對於SQL Server,你可以使用這個
select MAX(date)
from #tmp
group by DATEPART(wk, date)
注。
要運行週一至週日,使用這個代替
select MAX(date)
from #tmp
group by DATEPART(wk, date-1)
測試表使用
create table #tmp (date datetime)
insert #tmp select '20110104'
insert #tmp select '20110105'
insert #tmp select '20110106'
insert #tmp select '20110110'
insert #tmp select '20110111'
優秀的,謝謝。 – Marcel 2011-01-23 12:35:16