PILIH permintaan TOP di ArcGIS Desktop?

12

Apakah ada cara untuk menggunakan SELECT TOP (n) di dalam desktop ArcGIS? Tampaknya karena pembangun permintaan ArcGIS secara efektif membangun pernyataan SQL setelah klausa WHERE, hal ini mungkin tidak mungkin.

Berikut ini adalah contoh penggunaan SQL yang khas :

PILIH TOP 3 * DARI Layer

RyanKDalton
sumber
2
Perhatikan bahwa TOP dan LIMIT tidak didukung dalam file geodatabases: forums.arcgis.com/threads/68997-TOP-100
blah238

Jawaban:

10

Jika basis data yang Anda dukung mendukung sub kueri, Anda bisa membuat kueri dengan TOP N yang mengembalikan ObjectIds (atau bidang lainnya) dan menggunakannya dalam kueri definisi Anda.

OBJECTID IN (*query here*)

Misalnya, inilah permintaan SQL Server untuk TOP 20, pemilihan acak: masukkan deskripsi gambar di sini

Kueri di atas akan menghasilkan 20 baris berbeda setiap kali peta atau tabel atribut di-refresh. Ini juga bisa berguna untuk lelucon praktis ArcMap untuk pengguna yang kurang berpengalaman (April Mop kurang dari sebulan lagi).

Tentu saja, sub kueri tidak harus menjadi kueri TOP N juga Anda tidak perlu menggunakan id unik. Mungkin buat kueri untuk menemukan duplikat:

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

Jay Cummins
sumber
bagus! Saya bisa melihat ini memberikan sejumlah masalah kepada beberapa pengguna .. "apa yang Anda lakukan pada basis data ???"
George Silva
1
Sementara saya benar-benar berharap bisa melakukan ini dengan shapefile, tampaknya saya tidak bisa. Namun, ini tampaknya menjadi cara yang sangat baik untuk memecahkan masalah ketika memanggil data dari sumber data SQL yang mendukung permintaan SELECT TOP. Terima kasih.
RyanKDalton
1
Anda dapat menggunakan kueri tersebut di dalam kueri Definisi, tetapi apakah ada solusi untuk menggunakannya di dalam alat Select by Attribute? Sudah memiliki bagian SELECT FROM ini dari pra-populasi.
Alex Tereshenkov