是否有可能做这样的查询?我有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发布一个新的问题。这样就保留了原始问题的正确答案。 –
好的,你是否建议恢复编辑? –
它并不是真的有必要将其反转 –