日付列のある行があります。毎週の終わりに最も近い値を見つける必要があります。
例:1月3〜9週の場合は1月4、5、6の値から、1月6日を返し、1月10〜16週の場合、10、11の値から1月11日を返します。
したがって、4,5,6,10,11 Janを含む行のうち、クエリはThu6とTue11Janを返す必要があります。
これが理にかなっていることを願っています。
より良い回答を得るには、どの RDBMS を使用しているかを述べる必要があります。
SQL Serverの場合、これを使用できます
select MAX(date)
from #tmp
group by DATEPART(wk, date)
注: SET DATEFIRST を使用して週の最初の曜日を変更しない限り、"週" は Sun-Sat から実行されます。
Mon-Sun を実行するには、代わりにこれを使用します
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'