表AA结构和数据是这样的:
SID SCOUNT STYPE
1 200 1
1 100 2
1 100 1
2 300 1
3 200 1
3 300 2两个查询语句:
1) SELECT
SUM(A1.SCOUNT),
SUM(A2.SCOUNT)
FROM
AA A1,
AA A2
WHERE
A1.STYPE = '1'
AND A2.STYPE = '2'2) SELECT SUM(A1.SCOUNT) FROM AA A1 WHERE A1.STYPE = '1';
SELECT SUM(A2.SCOUNT) FROM AA A2 WHERE A2.STYPE = '2'请问:为什么1的结果是1600,1600
而2的结果是我想要的800,400?
为什么1和2的结果不一样呢
SID SCOUNT STYPE
1 200 1
1 100 2
1 100 1
2 300 1
3 200 1
3 300 2两个查询语句:
1) SELECT
SUM(A1.SCOUNT),
SUM(A2.SCOUNT)
FROM
AA A1,
AA A2
WHERE
A1.STYPE = '1'
AND A2.STYPE = '2'2) SELECT SUM(A1.SCOUNT) FROM AA A1 WHERE A1.STYPE = '1';
SELECT SUM(A2.SCOUNT) FROM AA A2 WHERE A2.STYPE = '2'请问:为什么1的结果是1600,1600
而2的结果是我想要的800,400?
为什么1和2的结果不一样呢
把SUM(A1.SCOUNT),SUM(A2.SCOUNT)改成SUM(DISTINCT A1.SCOUNT),SUM(DISTINCT A2.SCOUNT)试试看。