4 votos

La selección de valores máximos dentro de los registros con el mismo nombre

Estoy trabajando en ArcMap 9.3 y nunca he tratado con ese tipo de consultas...

Tengo que Seleccionar el valor máximo de la columna [A] para cada conjunto de registros de la tabla que tiene el mismo valor en la columna [B]

Por ejemplo

[A] [B]

100 aaa 

101 aaa

102 aaa

999 aaa

100 bbb

101 bbb

102 bbb

999 bbb

por lo que la selección sería el registro#4 (donde [A]=9999, que es el valor más grande de todos 'aaa') y#8 (donde [A] = 999, que es el más grande de todos 'bbb')

Es posible hacer que el uso de las consultas y subconsultas cuando se trabaja con bases de datos?

Cualquier ayuda apreciada! Dan

5voto

DrPizza Puntos 9355

Usted sólo necesita saber el valor máximo para cada entrada en la columna B, o ¿usted realmente necesita para seleccionar las características con los valores máximos en el mapa?

Si usted sólo necesita una tabla de salida con rúbricas [B], [Max_of_A], puede abrir la tabla de atributos, a continuación, haga clic en la columna B y elija Summarize. En la lista de las estadísticas de resumen para ser calculado, elija Maximum para la columna a y usted debe terminar con la salida que usted necesita.

Si usted necesita para seleccionar realmente las características del mapa, una forma sería la de unirse a la tabla elaborada por Summarize de vuelta a sus características originales. Déjeme saber si usted quisiera más detalles.

Alguien más puede tener una mejor manera, pero creo que no puede hacerlo directamente a través de ArcMap Select by Attributes opción(?). Estaría interesada en estar equivocado, sin embargo.

Editar

Como @SIG-Jonathan dice que, si sus datos son almacenados en una base de datos espaciales y solo lo estás usando ArcMap para ver resultados, etc. entonces su mejor apuesta es usar un GRUPO de consulta como por su método. Si estás trabajando con un shapefile o una clase de entidad se almacena en un archivo o una geodatabase personal, el siguiente método debería funcionar, pero es un poco de un faff! 300.000 registros no debería ser un problema, sin embargo.

Empieza por usar Summarize en la tabla original. Usted debe obtener un resultado algo como esto:

[B]    [Max_of_A]
aaa    999
bbb    999

Ahora unirse a esta tabla de regreso a su conjunto de datos original utilizando la columna B como el campo de unión (haz clic derecho en el conjunto de datos original, a continuación, Joins and Relates > Join. Elija para mantener todos los registros). Esto debería hacer que su tabla de atributos de aspecto algo como esto:

[Orig_A]  [Orig_B]  [Summary_B]  [Max_of_A]
100       aaa       aaa          999
101       aaa       aaa          999
102       aaa       aaa          999
999       aaa       aaa          999
100       bbb       bbb          999
101       bbb       bbb          999
102       bbb       bbb          999
999       bbb       bbb          999

A continuación, puede utilizar Select by Attributes para seleccionar todas las filas donde [Orig_A] = [Max_of_A].

Un buen faff, pero no puedo pensar de una manera más fácil de hacerlo si sus datos ya no está en una base de datos espaciales GRUPO de apoyo. Tal vez alguien más puede sugerir una mejor manera?

Buena suerte!

3voto

rkthkr Puntos 6651

Su mejor manera de obtener estos datos directamente de la base de datos si usted lo desea para cada COLUMN_B agrupación. Esta consulta en una base de datos, como Oracle, sería (otras bases de datos será similar):

select count(*), MAX(column_A), column_B from TABLE_NAME group by column_B

Que va a dar:

4, 999, aaa
4, 999, bbb

Para hacerlo en ArcGIS es bastante fácil. El uso de la Select by Attributes seleccionar todo en el grupo de AAA o BBB. A continuación, en la tabla de atributos, haga clic en la columna que desea el máximo de y seleccione Statistics. Esto mostrará el "máximo" que es de las filas seleccionadas.

0voto

brandon coble Puntos 1

Esto se puede lograr bastante simplemente ejecutar la herramienta de estadísticas. A continuación, puede seleccionar el campo que desea que el max/min u otros estadísticos de atributo. Usted, a continuación, seleccione el caso de campo que en su caso sería la columna B. la Esperanza de que esto ayude a alguien.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X