私は同様の質問を数ヶ月前に尋ねました。ここにあります:MySQL Query based on stringMySQLの文字列の比較
私が遭遇している問題は、これは特定の順序でしか動作せず、場合によってはうまくいきます。ここで
は(重複が、実際のデータを意図している)このクエリがフィルタリングされたデータの抜粋です: が私の最後の質問( MySQL Query based on string)に役立った1つのクエリが1つのインスタンスのよく働い- BELLMORE
- ATLANTIC BCH
- ATLANTIC BEACH
- E HILLS
- EAST HILLS
- EAST ROCKAWAY
- FAR ROCKAWAY
- FLORAL PARK
- FLORAL PARK
- HIGHLAND HEIGHTS
- N HIGHLAND HGTS
- NORTH HIGHLAND HEIGHTS
他のインスタンスでは失敗しました。
select names from tablename group by substring_index(names," ",1)
返します:ここにクエリがある
- BELLMORE
- ATLANTIC BEACH
- EAST HILLS
- FAR ROCKAWAY
- FLORAL PARK
- HIGHLAND HEIGHTS
- N HIGHLAND HGTS
- NORTH HIGHLAND HEIGHTS
1つの問題は、あなたが見ることができるように、それが唯一の最初の単語を使用していたので、それは持つべきではないという街を除去したことですそれをグループ化する削除したものは次のとおりです。
これはGROUPされました。
私はこれを続けて書いているので、静的な都市名と可変部分の位置が常に変化しているので、ほとんど不可能だと感じています。特定の文字数を比較できない限り。それは遠くに完璧ではない。誰かが何らかの洞察力を持っていると思ったり、そうしたことをして遂行したりしたと思ったら、私はフィードバックと指針を感謝します。終了結果は次のようになります。
- BELLMORE
- ATLANTIC BEACH
- EAST HILLS
- EAST ROCKAWAY
- FAR ROCKAWAY
- FLORAL PARK
- HIGHLAND HEIGHTS
「N」=「北」、「Hghts」=「普通」などの共通の同義語のリストを手動で生成できますか? Heights'など – mellamokb