No lo estás mirando correctamente...
Yo te dije que AGRUPES por fecha, y NO que buscases la fecha mayor, cuando en realidad lo que quieres es la LECTURA MAYOR...
Ahora bien, si lo que quieres es la última lectura, y de estas la mayor, tampoco es correcta la query.çEsto estaría mas cerca.
Código SQL:
Ver originalSELECT codigo, TRUNC(fecha) fecha, MAX(lectura) Lectura
FROM registro_lecturas
WHERE codigo IN (123, 456, 765, 345)
GROUP BY TRUNC(fecha), codigo
En cuanto al formato de la fecha, eso es una configuracion del servidor, pero si lo que quieres es que la salida en formulario sea en formato español, simplemente formatea la salida.
Para hacerlo desde Oracle sería:
Código SQL:
Ver originalSELECT codigo, TO_CHAR(fecha, 'dd/mm/yyyy') fecha, lectura
FROM (
SELECT codigo, TRUNC(fecha) fecha, MAX(lectura) Lectura
FROM registro_lecturas
WHERE codigo IN (123, 456, 765, 345)
GROUP BY TRUNC(fecha), codigo) tablaresultado
Cita: no adjunto el create table porque los nombres de los campos no son muy claros para alguien externo
precisamente por eso dije:
Cita: Muestra el CREATE TABLE de la tabla y explica el uso de cada columna y veremos.