ArcGIS Desktop에서 TOP 쿼리를 선택 하시겠습니까?


12

ArcGIS 데스크탑에서 SELECT TOP (n)을 사용하는 방법이 있습니까? ArcGIS 쿼리 작성기가 WHERE 절 뒤에 효과적으로 SQL 문을 작성하고 있기 때문에 이것이 불가능할 수 있습니다.

다음은 일반적인 SQL 사용법 입니다.

레이어 선택 TOP 3 * FROM Layer


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 실용 농담에도 유용 할 수 있습니다 (만우절은 한 달도 채 걸리지 않습니다).

물론 하위 쿼리는 TOP N 쿼리 일 필요는 없으며 고유 한 ID를 사용할 필요도 없습니다. 중복을 찾기 위해 쿼리를 작성하십시오.

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


좋은! 나는 이것이 일부 사용자들에게 많은 어려움을주는 것을 볼 수있다. ""데이터베이스에 무엇을 했는가 ??? "
George Silva

1
실제로 shapefile을 사용 하여이 작업을 수행 할 수 있기를 바랐지만 불가능합니다. 그러나 이는 SELECT TOP 쿼리를 지원하는 SQL 데이터 소스에서 데이터를 호출 할 때이 문제를 해결하는 매우 좋은 방법으로 보입니다. 감사.
RyanKDalton

1
정의 쿼리 내에서 이러한 쿼리를 사용할 수 있지만 속성 별 선택 도구 내에서 사용할 수있는 해결 방법이 있습니까? 이 SELECT FROM 부분이 이미 채워져 있습니다.
Alex Tereshenkov
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.