2009-05-11 26 views
8

Tôi muốn đạt được bằng cách truy vấn mysqlChọn Mysql tổng giao hoán của mỗi hàng

+------+---------+ 
| frq | -any- | 
+------+---------+ 
| 10 |  10 | 
| 15 |10+15=25 | 
| 15 |25+15=40 | 
+------+---------+ 

xin vui lòng giúp đỡ với sự tham khảo mã, nhờ

+0

Bạn có nghĩa là bạn muốn cột thứ hai là tổng số đang chạy của cột đầu tiên? – codeulike

+0

Có cột thứ hai là tổng của tất cả các frq trước đó – Ish

Trả lời

12

Diễn đàn MySQL đã giúp tôi !!!

mysql> set @my_var=0; 
mysql> select frq, @my_var:[email protected]_var+frq as commutative_sum from `mytable` 

Điều này phù hợp với quy trình mysql của tôi.

12

IMHO, cần được xử lý bởi chương trình logic, và không SQL. Nếu bạn vẫn muốn ...:

SELECT a.frq, sum(b.frq) 
    FROM table a 
    JOIN table b ON a.id >= b.id 
GROUP BY a.frq 
+1

+1 cho Tham gia với a> = .... a.id> = b.id ... thú vị:) – codeulike

+0

Nếu tôi có một số thứ tự theo mệnh đề với nó. Sau đó, trên logic sẽ không làm việc – Ish

+0

Bạn nên nhóm BY a.id để có được kết quả dự định trở lại. – duckyflip

Các vấn đề liên quan