sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan gennemsnits/summes data på en dag i SQL Server 2005

En mulighed, hvis du har brug for at gøre dette ofte nok:Tilføj tre beregnede kolonner for dag, måned, år til din tabel. Disse kolonner beregnes automatisk baseret på timestamp kolonne, og de er kun heltalsværdier, så de er nemme at bruge i en GROUP BY .

For at gøre dette skal du bruge disse T-SQL-sætninger:

ALTER TABLE dbo.ROASTER_FEED ADD TSDay AS DAY(timestamp) PERSISTED
ALTER TABLE dbo.ROASTER_FEED ADD TSMonth AS MONTH(timestamp) PERSISTED
ALTER TABLE dbo.ROASTER_FEED ADD TSYear AS YEAR(timestamp) PERSISTED

Nu kan du nemt vælge dine data baseret på enhver dag, du ønsker:

SELECT TSDay, TSMonth, TSYear, SUM(FEED)   -- use AVG(FEED) for average values
FROM dbo.ROASTER_FEED
WHERE TSYear = 2011 AND TSMonth = 8   -- or whatever you want to grab from the table!
ORDER BY timestamp
GROUP BY TSDay, TSMonth, TSYear


  1. Sådan konverteres IPv6 fra binær til lagring i MySQL

  2. Sammenligning af SQL Server int vs nvarchar på ydeevne?

  3. MySQL - Organisering af databaseindhold (Sports League)

  4. Sådan finder du placeringen af ​​datafiler og logfiler i SQL Server