2017-01-13 6 views
-1

内の単語を数える:私は、文字列の合計を変換する必要がありのMySQL - MariaDB - クエリどのように私はこのケースを照会することができ、列

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 

「コンピュータ名」が表示されたし、それの数を取得しますが、私はどのようにわからない!

この結果を得るために:

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

まずテーブルのアーキテクチャを更新する必要があります。 –

+0

何か試しましたか? –

+0

そのテーブルはKACEというソフトウェアからのもので、カスタムインベントリルールを作成してこれらのデータを取得する必要がありましたが、今ではそのデータをフィルタリングしたいと考えています。 –

答えて

2

あなたは、いくつかの文字列操作でこれを行うことができます。

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

あなたあなたは、このデータを格納する方法を再検討すべきです。時々、私たちは他人の悪い決断に悩まされます。しかし、選択肢がある場合は、 "マシン"と "コンピュータ名"ごとに1つの行を持つ別のテーブルを用意する必要があります。

+0

モニタの数量の数値として0しか返されませんでした。 –

+0

私はそれを得ました!ありがとうございました! –

関連する問題