sql >> Database >  >> RDS >> Sqlserver

TSQL:kan geen aggregatiefunctie AVG uitvoeren op COUNT(*) om de drukste uren van de dag te vinden

Inline-weergave gebruiken:

SELECT DATEPART(hh, x.visitdate),
       AVG(x.num)
  FROM (SELECT t.visitdate,
               COUNT(*) 'num'
          FROM CUSTOMERLOG t
         WHERE t.visitdate BETWEEN 'Jan 1 2009' AND 'Aug 1 2009'
      GROUP BY t.visitdate) x
GROUP BY DATEPART(hh, x.visitdate)

CTE (SQL Server 2005+) equivalent gebruiken:

WITH visits AS (
   SELECT t.visitdate,
          COUNT(*) 'num'
     FROM CUSTOMERLOG t
    WHERE t.visitdate BETWEEN 'Jan 1 2009' AND 'Aug 1 2009'
 GROUP BY t.visitdate)
   SELECT DATEPART(hh, x.visitdate),
         AVG(x.num)
    FROM visits x
GROUP BY DATEPART(hh, x.visitdate)


  1. Fout 28000:Inloggen mislukt voor gebruiker DOMAIN\\gebruiker met pyodbc

  2. Hoe verbinding maken met Microsoft SQL Server 2008 (MSSQL) vanuit Matlab?

  3. ODP.NET UPDATE... TERUGKEER IN... meerdere rijen, parametertype

  4. Woocommerce krijgt product-ID met product-SKU