在update中使用group by不行吗
来源:6-18 使用having子句过滤分组结果

weixin_慕工程538969
2021-04-25
老师,我需要求救。。这个我怎样都没想法[我用的是mysql]
我这边写的是电商数据库, 有着sku。然后在order_detail里面就有具体记录着用户所卖的sku数量[quantity]。我想要通过group productId,将quantity全部加起来再update product默认的totalSell[sell]。但是却一直得到这个错误
明明我通过select可以得取,但是一到update时怎样都无解了
写回答
2回答
-
update语句是不支持group by子句的
042021-04-26 -
weixin_慕工程538969
提问者
2021-04-26
UPDATE `product` AS `p` JOIN ( SELECT productId,SUM(quantity) as quantity,ANY_VALUE(orderId) as orderId FROM `order_detail` WHERE orderId = 2 GROUP BY productId ) `od` ON `p`.`id`=`od`.`productId` SET `p`.`sell` = p.sell+od.quantity;
上面这个是我的答案。看样子是因为本来quantity是SUM然后我又重犯导致的
10
相似问题