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

SQL Cách cập nhật SUM của cột qua nhóm trong cùng một bảng

Giả sử bạn đang sử dụng SQL Server, tôi nghĩ bạn muốn một cái gì đó như thế này:

WITH toupdate AS
     (SELECT team, year, 
             Sum(personsales) OVER (partition BY team, year) AS newTeamSales 
      FROM salessummary
     ) 
UPDATE toupdate 
   SET teamsales = newteamsales; 

Truy vấn ban đầu của bạn có một số vấn đề và cấu trúc đáng ngờ. Đầu tiên, một truy vấn con tổng hợp không thể cập nhật được. Thứ hai, bạn đang thực hiện một tổng hợp và sử dụng hàm cửa sổ với, mặc dù được phép, là bất thường. Thứ ba, bạn đang tổng hợp theo PersonSales và lấy sum() . Một lần nữa, được phép, nhưng không bình thường.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chuyển đổi cột Ngày giờ từ UTC sang giờ địa phương trong câu lệnh chọn

  2. Làm cách nào để tìm cổng đang chạy của SQL Server?

  3. Ký hiệu dấu chấm trong SQL

  4. Chuyển đổi DateTime sang định dạng YYYY-MM-DD trong SQL Server

  5. Buộc Oracle trả lại N hàng trên cùng với SKIP ĐÃ KHÓA