データベースの種類: MySql
私のテーブルにこのような2つの行があるとします:
[1.] 「ピーターは昨日公園に行きました
」 [2.] 「ピーターは明日公園に行きます」
...そして、これをパターン文字列として持っていると仮定します:
「マークは昨日映画館に行きました」
...最初のレコードを取得するクエリを作成するにはどうすればよいですか? 最初のレコードが私が探しているものになる他の多くのケースがある可能性があります:
-「レナードは昨夜図書館に行きました
」 -「ジェイクは去年ロンドンに行きました」
...等々。
注:実際の問題は私が探す必要がある状態であるため、テーブル構造は表示していません。ただし、テーブルはtableと呼ばれ、2 つのフィールド ( idとstring )があると仮定できます。
編集: MySqlにFULLTEXTインデックスがあり、この作業に役立つ可能性があることは知っています。私はまた、それらがinnoDBテーブル(私が使用している) では機能しないことを読みました。(それが不可能な場合は、DB を再設計して、このテーブルを MyISAM にすることができます)
編集:eggyalがこの質問への最初のコメントで言っているように、「v5.6」はinnoDBテーブルもサポートしています。
編集:別の例は次のとおりです。
[1.]今日は空が青く見える
[2.]今日は火が赤く見える
そして、次のように仮定して最初のレコードを取得したいと思います。
今日の海は青く見える
...パターン文字列として。
(この場合、2 番目のレコードも一致し、最初のレコードよりも関連性が低くなります。これは、look $ todayが含まれているためです)