Oracle group by 测试

CREATE TABLE test(a VARCHAR2( 20),b VARCHAR2 (20),c NUMBER,d VARCHAR2 (20))

INSERT INTO test VALUES( 'a1','b1' ,1, 't');
INSERT INTO test VALUES( 'a3','b3' ,3, 't');
INSERT INTO test VALUES( 'a4','b4' ,4, 't');
INSERT INTO test VALUES( 'a2','b2' ,2, 't');
INSERT INTO test VALUES( 'xx','xx' ,5, 'x');


INSERT INTO test VALUES( 'a1','b1' ,1, 't');
INSERT INTO test VALUES( 'a3','b3' ,3, 't');
INSERT INTO test VALUES( 'a4','b4' ,4, 't');
INSERT INTO test VALUES( 'a2','b2' ,2, 't');
INSERT INTO test VALUES( 'xx','xx' ,5, 'x');
COMMIT;


1.SELECT a,b, SUM(c) FROM test WHERE d= 't' GROUP BY a,b ORDER BY a,b;

2.SELECT a,b, SUM(c) FROM test WHERE d= 't' GROUP BY b,a ORDER BY a,b;

总结:对于1,2而言,结果应该是一样的,但是分组的顺序不同,SQL的性能应该也是不同的。

猜你喜欢

转载自southking.iteye.com/blog/1728026