私は非常に大きなテーブルを持っています(数百万レコード)。表の列は、Aが現在次のようになっていることを示しています:id、road name、lat、lonここで、idは自動増分PKです。
現在、各道路はいくつかの(lat、lon)の組み合わせにマップされているため、1つの道路名に複数のエントリをテーブルに含めることができます。
私がやろうとしているのは、主キーとして道路名を作成してから、lat列とlon列を削除することです。次に、道路を表す(lat-lon)ポイントのリストを含むGeometryタイプの列を追加します。
これはjava+mysqlで簡単に実行できますが、ネストされたクエリをいくつか作成することでこれを簡単に実行できる方法があるかどうか疑問に思っていました。基本的に、私はすでにデータが入力されたテーブルAと別のテーブルBを持っており、道路名はPKで、2番目の列はGeometryタイプです。私が欲しいのは、一意の道路名ごとにすべての緯度と経度をジオメトリポイントリストに結合し、テーブルBに挿入することです。これをmysqlで実行することは可能ですか?
注:これは単なる例であり、実際のシナリオではないため、道路名の一意性について心配する必要はありません。ありがとう!
更新:concat/group_concat関数は文字列を返します。私の列タイプはGeometryなので、この文字列をMySQL Spatial ExtensionのGeomFromText()空間関数に渡して、ジオメトリ形式で取得します。