MySQL - MariaDB - 在列中查询计数单词

时间:2017-01-13 12:21:06

标签: mysql count

如何查询此案例:

Machine |   Monitors
---------------------------------------------------------------------------<br>
Computer 1  |   Computer Name: Dell,Model: a - Computer Name: Dell,Model: d<br>
---------------------------------------------------------------------------<br>
Computer 2  |   Computer Name: Dell,Model: abcd - Computer Name: Lenovo,Model: abcd<br>
---------------------------------------------------------------------------<br>
Computer 3  |   Computer Name: SAMSUNG,Model: abcd

我需要转换字符串“Computer Name”的总和,当它出现并得到它的计数时,但我不知道怎么做!

要获得此结果:

Machine |   Monitors
--------------------
Computer 1  |   2
--------------------
Computer 2  |   2
--------------------
Computer 3  |   1

1 个答案:

答案 0 :(得分:2)

您可以通过一些字符串操作来执行此操作:

select machine,
       (length(monitors) - length(replace(monitors, 'Computer Name:', ''))) / length('Computer Name:')
from t;

应重新考虑如何存储此数据。有时我们会被别人的错误决定所困扰。但是如果你有一个选择,你应该有另一个表,每个“机器”和“计算机名称”有一行。