sql >> Databáze >  >> RDS >> Sqlserver

Jak průměrovat/sčítat data za den v SQL Server 2005

Jedna možnost, pokud to potřebujete dělat dostatečně často:přidejte do tabulky tři vypočítané sloupce pro den, měsíc, rok. Tyto sloupce jsou počítány automaticky na základě timestamp a jsou to pouze celočíselné hodnoty, takže je lze snadno použít v GROUP BY .

Chcete-li to provést, použijte tyto příkazy T-SQL:

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

Nyní si můžete snadno vybrat svá data podle libovolného dne:

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. regulární výraz pro různě dlouhá slova oddělená řádky

  2. Odložení častých aktualizací v MySQL

  3. Převést sadu výsledků SQL Server na řetězec

  4. nastavit prázdné heslo pro uživatele PostgreSQL