Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách tính trung bình / tổng dữ liệu trong một ngày trong SQL Server 2005

Một khả năng, nếu bạn cần làm điều này đủ thường xuyên:thêm ba cột được tính cho ngày, tháng, năm vào bảng của bạn. Các cột đó được tính toán tự động dựa trên timestamp và chúng chỉ là các giá trị số nguyên, vì vậy chúng dễ sử dụng trong GROUP BY .

Để thực hiện việc này, hãy sử dụng các câu lệnh T-SQL sau:

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

Giờ đây, bạn có thể dễ dàng chọn dữ liệu của mình dựa trên bất kỳ ngày nào bạn muốn:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách trả về số lượng hàng trong kết quả truy vấn trong SQL Server

  2. Chọn bộ xử lý cho SQL Server 2012

  3. Chuỗi phân tách T-SQL

  4. Sử dụng UNION ALL trong STUFF / Đường dẫn XML

  5. Cách lấy bản ghi đầu tiên ra khỏi mỗi nhóm từ kết quả được truy xuất bằng cách sử dụng lệnh nhóm theo lệnh