Mysql 计算第一个数据库表的一列中某个单词的实例并将其添加到另一个表的一行中?
我有两个MySQL数据库表:“header”和“lookup” 在我的“header”表中有一个名为“protocol”的字段,如果我运行包捕获引擎,数据将在其中填充。而且,我还有一个“info”字段,它会在其中显示消息的类型(例如,135型/137型等) 因此,该字段将包含不同类型的协议 我想做的是:Mysql 计算第一个数据库表的一列中某个单词的实例并将其添加到另一个表的一行中?,mysql,sql,database,Mysql,Sql,Database,我有两个MySQL数据库表:“header”和“lookup” 在我的“header”表中有一个名为“protocol”的字段,如果我运行包捕获引擎,数据将在其中填充。而且,我还有一个“info”字段,它会在其中显示消息的类型(例如,135型/137型等) 因此,该字段将包含不同类型的协议 我想做的是: 我想统计第一个表(标题)中特定类型消息的实例。例如,我想计算一个特定协议的类型为135的实例(将在info中显示)。 这对吗?如果没有,请提供正确的SQL SELECT COUNT(info)
SELECT COUNT(info) FROM project.header WHERE info="Type 135";
请提供实现此目的的步骤。如果
info
中不存在该行,则使用insert
。但是,我猜该行确实存在,因此您可以将update与相关子查询一起使用:
update lookup l
set count1 = (select count(*)
from project.header h
where h.info = l.info
);
如果只想更新一行,可以添加
,其中l.info='type135'
。如果info
中不存在该行,则使用insert
。但是,我猜该行确实存在,因此您可以将update与相关子查询一起使用:
update lookup l
set count1 = (select count(*)
from project.header h
where h.info = l.info
);
如果您只想更新一行,可以添加
其中l.info='type135'
。您已接近解决方案。您提供的SQL似乎是正确的。您可以在数据库上手动验证它。您可以为第二条语句编写Insert语句。尝试在线阅读有关insert语句的内容,以防您不知道它的语法,这很容易。如果您无法到达那里,请告诉我们您在哪里遇到困难。:)您已接近解决方案。您提供的SQL似乎是正确的。您可以在数据库上手动验证它。您可以为第二条语句编写Insert语句。尝试在线阅读有关insert语句的内容,以防您不知道它的语法,这很容易。如果您无法到达那里,请告诉我们您在哪里遇到困难。:)非常感谢,戈登。你的解决方案非常有效!非常感谢,戈登。你的解决方案非常有效!