Oracle - Sentencia SQL

 
Vista:
sin imagen de perfil
Val: 5
Ha aumentado su posición en 51 puestos en Oracle (en relación al último mes)
Gráfica de Oracle

Sentencia SQL

Publicado por Juan Carlos (2 intervenciones) el 08/06/2021 09:37:48
Buenos días. Tengo una tabla con munname, ZIPCODE en la cual para un municipio por error existen código postales diferentes.
Tengo claro que si los agrupo por nombre , codpostal el conteo el mayor conteo pertenece al código correcto.

1
2
3
4
5
SELECT distinct munname, ZIPCODE, count(*) as maxz
FROM ADDRESS
WHERE PROVNAME='CACERES'
and munname = 'ABADIA
GROUP BY munname, ZIPCODE.

ABADIA 10748 1042
ABADIA 0 22
ABADIA NULL 5
ABADIA 10005 1
ABADIA 00000 1
ABADIA 10002 1
ABADIA 10004 1

¿Puedo hacer un select a esta consulta para quedarme con munname, ZIPCODE para el mayor count(*) de cada municipio?

Si me creo una tabla con los resultados, sí sabría hacerlo, pero mi idea es poder solucionarlo con una sola sentancia.

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 5
Ha aumentado su posición en 51 puestos en Oracle (en relación al último mes)
Gráfica de Oracle

Sentencia SQL

Publicado por Juan Carlos (2 intervenciones) el 08/06/2021 13:19:54
Hola a todos. Con ayuda, ya está resuelto. Hay que tratar la subconsulta como tabla y este sería el resultado:

1
2
3
4
5
6
7
8
9
SELECT DISTINCT MUNNAME, ZIPCODE FROM (
SELECT MUNNAME, ZIPCODE, COUNT(*) MAXIMO
FROM ADDRESS WHERE ZIPCODE IS NOT NULL AND PROVNAME = 'CACERES'
GROUP BY MUNNAME, ZIPCODE) A
WHERE A.MAXIMO = (SELECT MAX(MAXIMO) FROM (SELECT MUNNAME, ZIPCODE, COUNT(*) MAXIMO
FROM ADDRESS WHERE ZIPCODE IS NOT NULL AND PROVNAME = 'CACERES' AND A.MUNNAME = MUNNAME
GROUP BY MUNNAME, ZIPCODE ))
order by MUNNAME
;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar