MYSQLでは、テーブルの1列の数字をグループ化してロールアップする
848 ワード
このような元のテーブルがあります.
X1 X2
-----------------------
2 453
2 120
2 101
2 89
3 111
3 421
3 219
-----------------------
X 1フィールドで累加しますので、累加して次の表にします
X1 X2
-----------------------
2 453
2 573
2 674
2 763
3 111
3 532
3 751
-----------------------
X1 X2
-----------------------
2 453
2 120
2 101
2 89
3 111
3 421
3 219
-----------------------
X 1フィールドで累加しますので、累加して次の表にします
X1 X2
-----------------------
2 453
2 573
2 674
2 763
3 111
3 532
3 751
-----------------------
CREATE TABLE test
(
Id INT NOT NULL AUTO_INCREMENT,
X1 INT NOT NULL,
X2 INT NOT NULL,
PRIMARY KEY(`Id`)
)
INSERT INTO test(X1,X2) VALUES(2,453),(2,120),(2,101),(2,89),(3,111),(3,421),(3,219)
SELECT * FROM test
SELECT X1,(SELECT SUM(X2) FROM test WHERE X1=A.X1 AND Id<=A.Id)
FROM test A
-----------------------
X1 (SELECT SUM(X2) from test where X1=A.X1 and Id<=A.Id)
2 453
2 573
2 674
2 763
3 111
3 532
3 751