sql >> Database >  >> RDS >> Sqlserver

Bereken het gemiddelde tussen kolommen door twee rijen in SQL Server te vergelijken

Ik denk dat je gewoon min() . kunt gebruiken en max() voor de eenvoud om de tijden voor de bied/app-paren te krijgen. De rest is gewoon aggregatie en nog eens aggregatie.

De verwerking die u beschrijft, lijkt te zijn:

select avg(avg_bid_diff)
from (select bid, avg(diff*1.0) as avg_bid_diff
      from (select bid, appid,
                   datediff(second, min(starttime), max(statustime)) as diff
            from t
            where appstatus in ('In Review', 'Approved')
            group by bid, appid
            having count(*) = 2
           ) ba
      group by bid
     ) b;

Dit maakt aannames die consistent zijn met de verstrekte gegevens -- dat de statussen geen duplicaten hebben voor de bod/app-paren en dat goedkeuring altijd na beoordeling is.




  1. Kan .csv niet importeren in Cloud SQL vanuit de console

  2. MYSQL:lijst met waarden samenvoegen in een tabel

  3. Wijzig alle kolommen in een tabel in 'niet null', wat er ook gebeurt

  4. Hoe een bestaande Oracle-reeks te gebruiken om een ​​id in de slaapstand te genereren?