Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL заявка за извличане на средните стойности за 1day gap dob на клиенти

Самообединяването ще свърже текущия запис с всички записи с вчерашна дата. В този контекст групирането по позволява да бъдат преброени много записи с една и съща дата. t1 трябва да се отчете отделно, така че заплатата се добавя след това и count(*) се увеличава, за да се изчисли средната стойност.

Ето Sql Fiddle с пример .

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изчислете работното време между две дати

  2. Какво представляват данни и информация и обеми данни

  3. Как да получите стойност по име на динамично поле с помощта на sql select заявка

  4. Могат ли тригерите на SQL CLR да направят това? Или има по-добър начин?

  5. 13 най-добри практики за сигурност на SQL Server