mysql - 结合 select 和 update mysql 查询来获取计数

标签 mysql select sql-update

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

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

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

如果将 COUNT(*) 替换为数字,第一个查询工作正常,第二个查询工作正常,但我想了解如何传递第一个查询中的计数。正如目前所写,它给出了此错误:#1111 - 组函数的无效使用

最佳答案

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

关于mysql - 结合 select 和 update mysql 查询来获取计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25123966/

相关文章:

MYSQL更新具有不同值的单列

mysql - 有条件地显示 MySQL 存储过程中查询的一部分

php - 在插入之前将字符串转换为 mysql 日期格式

javascript - mysql中使用单引号时出错

sql - 如何在 PostgreSQL 中两次显示今天的日期

tsql - 如何在 XML 列上使用修改替换来填充空的 XML 节点?

mysql - node.js 中 mysql 查询中的 Javascript 变量

javascript - Jquery选择的触发方法不起作用

postgresql - 选择两个表中的所有列

php - 更新语句不适用于我的 php 代码