是否有可能做這樣的查詢?我有ID,一些IN值,Out值和最後一列TOTAL是IN和OUT之差的總和。我真的需要完整的總和。 相等的ID2行必須在SUM列中相加。沒有固定的ID2數量,有時它只是一行總和,其他情況下會有更多。我還可以添加一個差異列,以便將該行中的值與相同的ID2相加。總計行其他列列值按其他列分組ID
我在這裏懷疑的是,是否有可能在一行中累加,在其他列的某些行累積?
ID ID2 IN OUT TOTAL (IN-OUT)
1 2 200 150 blank-null-space-or whatever but a character
2 2 350 250 doesn't matter, also it can have the same SUM result as below
3 2 600 400 350 (= 200 - 150 + 350 - 250 + 600 - 400)
4 3 100 80 20
或者我必須在JavaScript的客戶端做到這一點?哪個更好,或者你有建議?也許在JavaScript中更容易,但我希望一步到位就可以減少池連接。
一個簡單的核實的例子是
CREATE TABLE "table1" (
"ID" int NOT NULL,
"ID2" int DEFAULT NULL,
"`EXT_ID" int DEFAULT NULL,
"IN" int DEFAULT NULL
"OUT" int DEFAULT NULL
);
INSERT INTO "table1" ("ID", "ID2", "EXT_ID", "IN", "OUT") VALUES
(1, 2, 1, 200, 150),
(2, 2, 2, 350, 250),
(3, 2, 2, 600, 400),
(4, 3, 4, 100, 80),
(5, 3, 5, 130, 100),
(6, 4, 6, 100, 80),
(7, 4, 7, 120, 70),
(8, 4, 7, 150, 90);
EDIT:添加了一個外國ID欄「EXT_ID」具有一個條件節目只有一排,並且由相同的「ID2」具有MAX值的一個。
更正的SQL語法。
嗨,卡洛斯。你改變了這個問題。更好的爲stackoverflow發佈一個新的問題。這樣就保留了原始問題的正確答案。 –
好的,你是否建議恢復編輯? –
它並不是真的有必要將其反轉 –