ArcGIS DesktopのSELECT TOPクエリ?


12

ArcGISデスクトップ内でSELECT TOP(n)を使用する方法はありますか?ArcGISクエリビルダーはWHERE句の後にSQLステートメントを効果的に構築しているため、これは不可能であると思われます。

ここで、一般的なSQLの例の使用の:

SELECT TOP 3 * FROMレイヤー


2
TOPおよびLIMITはファイルジオデータベースでサポートされていないことに注意してください:forums.arcgis.com/threads/68997-TOP-100
blah238

回答:


10

基になるデータベースがサブクエリをサポートしている場合、ObjectId(またはその他のフィールド)を返すTOP Nを使用してクエリを作成し、定義クエリで使用できます。

OBJECTID IN (*query here*)

たとえば、TOP 20ランダム選択のSQL Serverクエリは次のとおりです。 ここに画像の説明を入力してください

上記のクエリは、マップまたは属性テーブルが更新されるたびに20の異なる行を返します。これは、経験の浅いユーザー向けのArcMapの実用的なジョークにも役立ちます(エイプリルフールは1か月もかからない)。

もちろん、サブクエリはTOP Nクエリである必要はなく、一意のIDを使用する必要もありません。たぶん、重複を見つけるためにクエリを処理します:

FIRE_ID IN (SELECT FIRE_ID
FROM [SandboxGeodb].[dbo].[TESTFEATURECLASS] GROUP BY FIRE_ID HAVING COUNT(FIRE_ID) > 1)


いいね!これは、一部のユーザーに多くのトラブルを与えていることがわかります。「データベースに対して何をしたのですか?」
ジョージシルバ

1
シェープファイルを使用してこれを実行できることを本当に望んでいましたが、できないようです。ただし、これは、SELECT TOPクエリをサポートするSQLデータソースからデータを呼び出すときの問題を解決する非常に良い方法のようです。ありがとう。
RyanKDalton

1
定義クエリ内でこのようなクエリを使用できますが、属性による選択ツール内で使用するための回避策はありますか?このSELECT FROM部分は事前に設定されています。
アレックステレシェンコフ14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.