CREATE TABLE my_table (
bank_account NUMBER
, bank_id NUMBER
, amount NUMBER
);
INSERT INTO my_table (bank_account,bank_id, amount ) VALUES( 123, 600, 1500 );
INSERT INTO my_table (bank_account,bank_id, amount ) VALUES( 123, 600, 2500 );
INSERT INTO my_table (bank_account,bank_id, amount ) VALUES( 123, 600, 3500 );
INSERT INTO my_table (bank_account,bank_id, amount ) VALUES( 123, 700, 500 );
INSERT INTO my_table (bank_account,bank_id, amount ) VALUES( 123, 700, 1000 );
INSERT INTO my_table (bank_account,bank_id, amount ) VALUES( 456, 800, 2000 );
INSERT INTO my_table (bank_account,bank_id, amount ) VALUES( 456, 900, 2000 );
INSERT INTO my_table (bank_account,bank_id, amount ) VALUES( 456, 950, 4000 );
SELECT tfine.bank_account
, tfine.bank_id
, tfine.total_amount
, tfine.number_of_transactions
, tcoarse.total_num_trans
, tcoarse.total_am_trans
FROM (
SELECT t1.bank_account
, t1.bank_id
, count(*) number_of_transactions
, sum(t1.amount) total_amount
FROM my_table t1
GROUP BY t1.bank_account
, t1.bank_id
) tfine
JOIN (
SELECT t2.bank_account
, count(*) total_num_trans
, sum(t2.amount) total_am_trans
FROM my_table t2
GROUP BY t2.bank_account
) tcoarse
ON tcoarse.bank_account = tfine.bank_account
ORDER BY tfine.bank_account
, tfine.bank_id
;
Q1JFQVRFIFRBQkxFIG15X3RhYmxlICgKICAgICAgYmFua19hY2NvdW50ICBOVU1CRVIKICAgICwgYmFua19pZCAgICAgICBOVU1CRVIKICAgICwgYW1vdW50ICAgICAgICBOVU1CRVIKKTsKCklOU0VSVCBJTlRPIG15X3RhYmxlIChiYW5rX2FjY291bnQsYmFua19pZCwgYW1vdW50ICkgVkFMVUVTKCAxMjMsIDYwMCwgMTUwMCApOwpJTlNFUlQgSU5UTyBteV90YWJsZSAoYmFua19hY2NvdW50LGJhbmtfaWQsIGFtb3VudCApIFZBTFVFUyggMTIzLCA2MDAsIDI1MDAgKTsKSU5TRVJUIElOVE8gbXlfdGFibGUgKGJhbmtfYWNjb3VudCxiYW5rX2lkLCBhbW91bnQgKSBWQUxVRVMoIDEyMywgNjAwLCAzNTAwICk7CklOU0VSVCBJTlRPIG15X3RhYmxlIChiYW5rX2FjY291bnQsYmFua19pZCwgYW1vdW50ICkgVkFMVUVTKCAxMjMsIDcwMCwgIDUwMCApOwpJTlNFUlQgSU5UTyBteV90YWJsZSAoYmFua19hY2NvdW50LGJhbmtfaWQsIGFtb3VudCApIFZBTFVFUyggMTIzLCA3MDAsIDEwMDAgKTsKSU5TRVJUIElOVE8gbXlfdGFibGUgKGJhbmtfYWNjb3VudCxiYW5rX2lkLCBhbW91bnQgKSBWQUxVRVMoIDQ1NiwgODAwLCAyMDAwICk7CklOU0VSVCBJTlRPIG15X3RhYmxlIChiYW5rX2FjY291bnQsYmFua19pZCwgYW1vdW50ICkgVkFMVUVTKCA0NTYsIDkwMCwgMjAwMCApOwpJTlNFUlQgSU5UTyBteV90YWJsZSAoYmFua19hY2NvdW50LGJhbmtfaWQsIGFtb3VudCApIFZBTFVFUyggNDU2LCA5NTAsIDQwMDAgKTsKCgoKICAgICAgICAgIFNFTEVDVCB0ZmluZS5iYW5rX2FjY291bnQKICAgICAgICAgICAgICAgLCB0ZmluZS5iYW5rX2lkCiAgICAgICAgICAgICAgICwgdGZpbmUudG90YWxfYW1vdW50CiAgICAgICAgICAgICAgICwgdGZpbmUubnVtYmVyX29mX3RyYW5zYWN0aW9ucwogICAgICAgICAgICAgICAsIHRjb2Fyc2UudG90YWxfbnVtX3RyYW5zCiAgICAgICAgICAgICAgICwgdGNvYXJzZS50b3RhbF9hbV90cmFucwogICAgICAgICAgICBGUk9NICggICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgU0VMRUNUIHQxLmJhbmtfYWNjb3VudAogICAgICAgICAgICAgICAgICAgICAgICAgICAsIHQxLmJhbmtfaWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBjb3VudCgqKSAgICAgICAgIG51bWJlcl9vZl90cmFuc2FjdGlvbnMKICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBzdW0odDEuYW1vdW50KSAgIHRvdGFsX2Ftb3VudAogICAgICAgICAgICAgICAgICAgICAgICBGUk9NIG15X3RhYmxlIHQxIAogICAgICAgICAgICAgICAgICAgIEdST1VQIEJZIHQxLmJhbmtfYWNjb3VudAogICAgICAgICAgICAgICAgICAgICAgICAgICAsIHQxLmJhbmtfaWQKICAgICAgICAgICAgICAgICApIHRmaW5lCiAgICAgICAgICAgIEpPSU4gKAogICAgICAgICAgICAgICAgICAgICAgU0VMRUNUIHQyLmJhbmtfYWNjb3VudAogICAgICAgICAgICAgICAgICAgICAgICAgICAsIGNvdW50KCopICAgICAgICAgdG90YWxfbnVtX3RyYW5zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICwgc3VtKHQyLmFtb3VudCkgICB0b3RhbF9hbV90cmFucwogICAgICAgICAgICAgICAgICAgICAgICBGUk9NIG15X3RhYmxlIHQyCiAgICAgICAgICAgICAgICAgICAgR1JPVVAgQlkgdDIuYmFua19hY2NvdW50CiAgICAgICAgICAgICAgICAgKSB0Y29hcnNlCiAgICAgICAgICAgICAgT04gdGNvYXJzZS5iYW5rX2FjY291bnQgPSB0ZmluZS5iYW5rX2FjY291bnQKICAgICAgICBPUkRFUiBCWSB0ZmluZS5iYW5rX2FjY291bnQKICAgICAgICAgICAgICAgLCB0ZmluZS5iYW5rX2lkCiAgICAgICAgICAgICAgIDsK