sql >> データベース >  >> RDS >> Sqlserver

SQL Server 2005 で 1 日のデータを平均化/合計する方法

    これを頻繁に行う必要がある場合の 1 つの可能性:日、月、年の 3 つの計算列をテーブルに追加します。これらの列は timestamp に基づいて自動的に計算されます 列であり、それらは単なる整数値であるため、GROUP BY で簡単に使用できます .

    これを行うには、次の 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
    

    これで、希望する日付に基づいてデータを簡単に選択できるようになりました:

    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. Oracleユーザーパスワードの有効期限の変更

    2. 削除トリガーの前に削除ステートメントを拒否するにはどうすればよいですか?

    3. SQLServerのSTATISTICSTIMEとは何ですか?

    4. ストアドプロシージャのwhileループの時間をどのように比較できますか?