Eine Möglichkeit, falls Sie dies oft genug tun müssen:Fügen Sie Ihrer Tabelle drei berechnete Spalten für Tag, Monat, Jahr hinzu. Diese Spalten werden automatisch basierend auf dem timestamp
berechnet -Spalte, und sie sind nur ganzzahlige Werte, sodass sie einfach in einer GROUP BY
verwendet werden können .
Verwenden Sie dazu diese T-SQL-Anweisungen:
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
Jetzt können Sie Ihre Daten ganz einfach anhand eines beliebigen Tages auswählen:
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