mysql - 计算元件更换次数

标签 mysql sql stored-procedures logic mysql-workbench

我想查找“每个组件发生替换的次数”的计数。

例如,

Component_ID | Replacement_ID
001          |    NULL
002          |     001
003          |     002
004          |     003
005          |     Null

结果:

Component_ID | Number of time a replacement already occurred
   004       |    3
   005       |    0

最佳答案

通常您应该至少有两张 table 。一个组件表,其中包含以Component_ID为主字段的组件以及其他字段(例如组件名称)和另一个可能称为组件替换的表 其中包含主字段 ID(例如 component_replacement_id)以及 component_id 和其他字段(例如替换日期)。 Component_ids 在此表中可以出现多次。这将允许您进行基本查询,例如:

SELECT Component_ID, IFNULL( total,0) replacements FROM
            (
              SELECT Component_ID, COUNT(*) total
                   FROM component_replacements GROUP BY Component_ID
            ) replacements ON components.Component_ID = replacements.Component_ID

关于mysql - 计算元件更换次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49506622/

相关文章:

MySQL 插入和更新过程

javascript - 如何在MySql中保存和读取特殊字符? (Mysqljs 和 Node )

sql - 从 to_char() 输出中删除空白填充

java - mysql语句未正确排序多列的总和

mysql - 从存储过程更新,但仅当变量不为空时

mysql - 如何最好地索引这个连接查询

mysql - 查找 mysql 表中特定 ID 的最后一条记录

SQL - 如何选择特定列中具有最大值的数据行?

mysql - 创建过程 MySQL 错误无描述

MySQL 存储过程返回的结果超出预期