クエリを実行したい:
----------------------
|name |
----------------------
|data |
|data get go |
|data get to go |
----------------------
Select * from table where name like '%data%' or name like '%go%' or name like'%get%';
Acc。私に出力する必要があります:
----------------------
|name |
----------------------
|data get go |
|data get to go |
----------------------
しかし、私は得る
----------------------
|name |
----------------------
|data |
|data get go |
|data get to go |
----------------------
正しい出力を得るのを手伝ってください。
最初のwhere句
name like '%data%
その最初の行を含めます。だからそれをに変更します
Select * from table where name like '%data%' AND (name like '%go%' or name like'%get%');
そしてそれはそれをするべきです。それは確かにデータはどちらかと一緒に名前にあるようになりますgo
かget
編集:
フォローアップの質問...
あなたが何を言おうとしているのか理解するのはちょっと難しいです。しかし、名前の中で検索された単語が最も多い結果を返したいのでしょうか。したがって、「1 2 3 4 5」を検索すると、
_________から
|名前|
| --------------- |
| 1 2 |
| 1 2 3 4 5 |
| 1 2 3 |
| 1 2 3 4 |
--------------------------------
あなたは、トップ3が最も使用されていることを望みます。そう:
_________
| 1 2 3 4 5 |
| 1 2 3 4 |
| 1 2 3 |
-----------------
また、「12」行は返されません。それはあなたが求めていることですか?
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加