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

TSQL-2008 SUM (X) HẾT (PHẦN ... ĐẶT HÀNG CỦA KHÁCH HÀNG)

THAM GIA INNER đơn giản nên thực hiện thủ thuật. Trừ khi tôi hiểu lầm bạn, nếu không, những gì bạn muốn là tổng số đang chạy, chính xác không?

Ví dụ này tạo một bảng giả với dữ liệu giả, sau đó sử dụng một phép nối bên trong cho tổng số đang chạy. Từ quan điểm hiệu suất, Biểu thức Bảng Chung có thể hiệu quả hơn. Nhưng vì đơn giản, sự tham gia bên trong của tôi được ưu tiên.

/* Dummy table */    

create table testing1
(col1 int not null identity(1,1),
col2 varchar(5),
col3 int)


insert into testing1
values ('a', 10), ('a', 20), ('a', 30), ('b', 40), ('b', 50)

/* Running total example */

SELECT a.col1
           , a.col2
           , a.col3
           , SUM(b.col3) AS total

FROM testing1 a INNER JOIN testing1 b
     ON  a.col1 >= b.col1
     AND a.col2 = b.col2

GROUP BY a.col1, a.col2, a.col3
ORDER BY a.col1



/* Edit to include Output */
col1    col2    col3    total
1   a   10  10
2   a   20  30
3   a   30  60
4   b   40  40
5   b   50  90


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Gói dựa trên đặt chạy chậm hơn so với hàm có giá trị vô hướng với nhiều điều kiện

  2. Làm cách nào để khắc phục Trạng thái đang chờ phục hồi trong Cơ sở dữ liệu SQL Server?

  3. 2 cách tạo cơ sở dữ liệu trên máy chủ được liên kết bằng T-SQL

  4. SQL Delete xóa bảng thay vì lỗi

  5. Làm cách nào để lấy kết xuất SQL của cơ sở dữ liệu SQL Server 2008?