合并语句: MERGE INTO ta a USING tb b ON(a.fid = b.fid) WHEN MATCHED THEN UPDATE SET fBalance = fBalance + b.fBalance WHEN NOT MATCHED THEN INSERT (fid, fbalance) VALUES(b.fid, b.fbalance);
TA的结果为: FID FBALANCE 1 1500 2 3000 3 2600 4 1200
[3] 找出重复的记录 方法一: SELECT * FROM tbl_name WHERE ROWID NOT IN(SELECT MIN(ROWID) FROM tbl_name GROUP BY fid)
方法二: SELECT * FROM (SELECT a.*, row_number() over(PARTITION BY fid ORDER BY createTime DESC) rn FROM tbl_name a) WHERE rn > 1
[4] 求积 原理: a * b * c = power(10, log(10, a) + log(10, b) + log(10, c) 格式: SELECT power(10,SUM(LOG(10,数值列))) FROM 表名; 例句: SELECT power(10,SUM(LOG(10,ROWNUM))) item FROM dual CONNECT BY ROWNUM <= 5; ITEM ---------- 120