错误使用UPDATE和ORDER BY

问题描述 投票:0回答:1

我最近发现此查询将我的数据从一列发送到另一列,我需要复制的唯一数据是累积的数据,product_id必须与产品表中的数据匹配主键是ID,但仅用于填充表sale_items。

select (id),(product_id),(acumulado) from sma_sale_items
GROUP BY product_id ORDER BY product_id DESC 

使用此更新,但它仅将第一个product_id复制给我,在这种情况下,我需要最后插入的product_id。

UPDATE sma_products
       INNER JOIN sma_sale_items
          ON sma_sale_items.product_id = sma_products.id
    SET sma_products.acumulado = sma_sale_items.acumulado

有人帮助我将该查询转换为更新吗?

mysql sql sql-update greatest-n-per-group mysql-5.6
1个回答
0
投票

您的原始查询不是有效的SQL-尽管MySQL可能接受它-因为它在select子句中具有非聚合的列,这些列不属于group by子句。如果要与最新的product_id对应的记录,则只需order bylimit

© www.soinside.com 2019 - 2024. All rights reserved.