答案 0 :(得分:0)
需要两个查询。
UPDATE test t1
JOIN ( SELECT MIN(id) id,
SUM(quantity) quantity,
location /* (1) */
FROM test
GROUP BY location ) t2 USING (location) /* (1) */
SET t1.quantity = CASE WHEN t1.id = t2.id
THEN t2.quantity
ELSE 0
END;
DELETE FROM test WHERE !quantity;
(1)-使用所有标识要汇总的组的列(例如,对于显示的数据,它可以是order_id, location
列对)。