現在、データベースの人口統計の生成に取り組んでおりgeography
、テーブルの 1 つにデータ型を追加しました。人口統計については、他のものを使用して列の最大、最小、および平均を生成する必要があります。
使用する
select MIN(Location) FROM SpatialTable
地理データ型が比較できないため、機能しませんでした。
だから私は次のクエリを使用しました:
SELECT Location
FROM SpatialTable
WHERE Location.Lat IN (SELECT MIN(Location.Lat)
FROM SpatialTable
WHERE Location.Long IN (SELECT MIN(Location.Long)
FROM SpatialTable))
基本的に経度が最小のレコードを選択し、それらのレコードの中から緯度が最小のレコードを選択します。しかし、これは次のように、最初の MIN 緯度が選択され、その中で MIN 経度が選択される別の方法でも実行できます。
SELECT
Location
FROM
SpatialTable
WHERE
Location.Long IN
(SELECT MIN(Location.Long)
FROM SpatialTable
WHERE Location.Lat IN (SELECT MIN(Location.Lat) FROM SpatialTable))
これにより、異なる結果が生じる可能性があります。
地理データを正確に比較する方法はありますか。SQL Server 2008 R2 エディションを使用しており、テーブルには geography タイプの Location 列が 1 つと ID 列が 1 つあります。