假設我有這個表結構:
CREATE TABLE TEST
(
X VARCHAR2(1), -- firstName
Y VARCHAR2(1), -- lastName
Z NUMBER(3), -- quantity
W VARCHAR2(1) -- B=Buy or S=Sell
);
INSERT INTO TEST(x, y, z, w) VALUES ('a', 'b', 3, 'S');
INSERT INTO TEST(x, y, z, w) VALUES ('a', 'b', 5, 'B'); -- sum of 3 S + 5 B = 2 B
INSERT INTO TEST(x, y, z, w) VALUES ('c', 'd', 10, 'S');
INSERT INTO TEST(x, y, z, w) VALUES ('c', 'd', 2, 'B'); -- sum of 10 S + 2 B = 8 S
我想對相同姓名和姓氏的數量求和,得到如下結果
X Y sum W
------------------
a b 2 B
c d 8 S
有沒有可能在一個SQL查詢中得到這個結果?
用GROUP BY
很容易得到SUM
,但是沒有找到一種方法來同時保持Buy和Sell列。
哦,我明白了。我認為您需要一些附加條件邏輯的聚合: