Prueba esto:
SELECT ID, case when MAX(DATE IS NULL) = 0 THEN max(DATE) END AS DATE
FROM test
GROUP BY ID;
Prueba esto:
SELECT ID, case when MAX(DATE IS NULL) = 0 THEN max(DATE) END AS DATE
FROM test
GROUP BY ID;
Determinación de las fechas de Pascua para cualquier año en Oracle PLSQL
Cómo obtener valores máximos y mínimos de una tabla mediante la función de agregado - Tutorial de SQL Server/TSQL, parte 129
Fundamentos de las expresiones de tabla, parte 11:vistas, consideraciones de modificación
Por qué debería limitar el acceso de los usuarios a su base de datos