自己結合は、現在のレコードを昨日の日付を持つすべてのレコードに接続します。このコンテキストで group by を使用すると、同じ日付を持つ多くのレコードをカウントできます。 t1
個別に考慮する必要があるため、給与は後で追加され、平均を計算するために count(*) がインクリメントされます。
select t1.ClientID, t1.ClinetDOBs, (t1.Slaries + sum (t2.Slaries)) / (count (*) + 1) Avg_Slaries from table1 t1 inner join table1 t2 on t1.ClinetDOBs = dateadd(day, 1, t2.ClinetDOBs) group by t1.ClientID, t1.ClinetDOBs, t1.Slaries
プレ>