
Duda Consulta SQL
Publicado por Rafa (5 intervenciones) el 04/09/2014 12:50:02
Buenos días,
Llevo poco tiempo con SQL y tengo una duda que me tiene estancado. Necesito entregar todos los meses un fichero con datos que tengo que extraer previamente mediante un Script SQL de una base de datos Oracle. Para hacer la consulta uso JDeveloper.
Pues bien, a modo de resumen la situación podría ser esta:
TABLA
Identificador | Potencia | Fecha
1 | 26 | 01/07/2014
1 | 37 | 03/07/2014
1 | 15 | 12/07/2014
2 | 18 | 11/07/2014
2 | 22 | 06/07/2014
3 | 13 | 09/07/2014
3 | 19 | 08/07/2014
Bien yo lo que quiero es que la consulta me devuelva una fila por cada identificador en la cual me indique cual es la máxima potencia y en qué fecha se dio esa máxima potencia. Es decir, este resultado:
Identificador | Potencia | Fecha
1 | 37 | 03/07/2014
2 | 22 | 06/07/2014
3 | 19 | 08/07/2014
Lo que no sé hacer es obtener la fecha en la que se ha dado el máximo. Si solamente fuera obtener para cada identificador la máxima potencia sería así:
select identificador, max(potencia)
from TABLA
group by identificador;
¿Como podría hacerlo?
Muchas gracias
Llevo poco tiempo con SQL y tengo una duda que me tiene estancado. Necesito entregar todos los meses un fichero con datos que tengo que extraer previamente mediante un Script SQL de una base de datos Oracle. Para hacer la consulta uso JDeveloper.
Pues bien, a modo de resumen la situación podría ser esta:
TABLA
Identificador | Potencia | Fecha
1 | 26 | 01/07/2014
1 | 37 | 03/07/2014
1 | 15 | 12/07/2014
2 | 18 | 11/07/2014
2 | 22 | 06/07/2014
3 | 13 | 09/07/2014
3 | 19 | 08/07/2014
Bien yo lo que quiero es que la consulta me devuelva una fila por cada identificador en la cual me indique cual es la máxima potencia y en qué fecha se dio esa máxima potencia. Es decir, este resultado:
Identificador | Potencia | Fecha
1 | 37 | 03/07/2014
2 | 22 | 06/07/2014
3 | 19 | 08/07/2014
Lo que no sé hacer es obtener la fecha en la que se ha dado el máximo. Si solamente fuera obtener para cada identificador la máxima potencia sería así:
select identificador, max(potencia)
from TABLA
group by identificador;
¿Como podría hacerlo?
Muchas gracias
Valora esta pregunta


0