首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL:使用update/select更新两列的组函数无效

MySQL:使用update/select更新两列的组函数无效
EN

Stack Overflow用户
提问于 2021-04-03 04:26:56
回答 1查看 27关注 0票数 0

我正在尝试从MySQL 5.7中的select语句更新表中的两列。我得到的错误是“组函数的无效使用”

Stmt:

代码语言:javascript
复制
UPDATE
    catalog mpc
JOIN
    reviews mpr  ON mpr.merchant_id = mpc.MERCHANT_ID and mpr.sku = mpc.ARTICLE_ID
SET
    mpc.RATING = avg(mpr.rating),
    mpc.RATINGS = count(mpr.rating)
WHERE
        mpr.MERCHANT_ID = 1
    AND mpr.sku = '133';

在我看来,这是什么问题呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-03 04:37:51

必须先在reviews中聚合,然后连接到catalog

代码语言:javascript
复制
UPDATE catalog mpc
INNER JOIN (
  SELECT merchant_id, sku, AVG(rating) avg_rating, COUNT(rating) count_rating
  FROM reviews 
  WHERE merchant_id = 1 AND sku = '133'
  GROUP BY merchant_id, sku
) mpr ON mpr.merchant_id = mpc.MERCHANT_ID and mpr.sku = mpc.ARTICLE_ID
SET mpc.RATING = mpr.avg_rating,
    mpc.RATINGS = mpr.count_rating
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66924865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档