опитайте да използвате стойността за актуализиране от лявото присъединяване
(сума + брой) таблица
актуализиране на T T1 ляво присъединяване (изберете `user`,sum(`sales`) newtotal,count(`order`) neworders от T група от `user` ) T2 на T1.`user` =T2. `user`set T1.total =T2.newtotal,T1.orders =T2.neworders
Тест DDL:
СЪЗДАДЕТЕ ТАБЛИЦА T (`user` varchar(4), `sales` int, `order` varchar(7), `total` int, `orders` int);INSERT INTO T (`user`, `продажби`, `поръчка`, `общо`, `поръчки`)СТОЙНОСТИ ('xx01', 100, 'order01', 0, 0), ('xx02', 200, 'order02', 0, 0), ( 'xx02', 400, 'order03', 0, 0), ('xx03', 300, 'order04', 0, 0), ('xx03', 500, 'order05', 0, 0);
Резултат:
<предварителен код>| потребител | продажби | поръчка | общо | поръчки ||------|-------|--------|-------|--------|| xx01 | 100 | поръчка01 | 100 | 1 || xx02 | 200 | поръчка02 | 600 | 2 || xx02 | 400 | поръчка03 | 600 | 2 || xx03 | 300 | поръчка04 | 800 | 2 || xx03 | 500 | поръчка05 | 800 | 2 |