sql >> Base de Datos >  >> RDS >> Sqlserver

Consulta SQL para extraer los valores promedio para la brecha de 1 día dob de clientes

Una autocombinación conectará el registro actual con todos los registros que tengan la fecha de ayer. En este contexto, group by permite contar muchos registros que tienen la misma fecha. t1 debe contabilizarse por separado, por lo que el salario se agrega después y el conteo (*) se incrementa para calcular el promedio.

Aquí está Sql Fiddle con un ejemplo .

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