结合选择和更新mysql查询进行计数

时间:2014-08-04 17:07:20

标签: mysql select sql-update

SELECT `EAN`, COUNT(*) FROM `sales` WHERE `EAN` = '5052931107087';

UPDATE `monitoring` SET `times` = COUNT(*) WHERE `EAN` = '5052931107087';

我有这两个mysql查询,我想将它们合并到一个查询中。目的是计算EAN代码在sales表中出现的次数,然后在监控表中将次数计数更新为第一次查询中的计数。

第一个查询工作正常,如果用数字替换COUNT(*),第二个工作正常,但我想了解如何从第一个查询传入计数。正如它上面写的那样,它给出了这个错误:#1111 - 无效使用组功能

1 个答案:

答案 0 :(得分:1)

UPDATE
    `monitoring`
SET
    `times` = (
        SELECT
            COUNT(*)
        FROM
            `sales`
        WHERE
            `EAN` = '5052931107087'
    )
WHERE
    `EAN` = '5052931107087'