Actualice filas duplicadas solo con una función MAX en SQL

Tengo una tabla como esta, donde, por ejemplo, supongamosNAME Es un identificador único.

NAME    AGE         VALUE
Jack    Under 65    3
Jack    66-74       5 
John    66-74       7
John    Over 75     9
Gill    25-35       11

AlgunosNAMEs tiene más de unoAGE, lo que no es deseable, ya que esto se debe a la suciedad de los datos.

Mi objetivo es actualizar los duplicados solo para tener unoAGE Dentro de cadaNAME. La salida deseada es así:

NAME    AGE         VALUE
Jack    Under 65    3
Jack    Under 65    5 
John    66-74       7
John    66-74       9
Gill    25-35       11

Algo como esta declaración ACTUALIZACIÓN debería funcionar, pero no es así.

UPDATE table t1
SET t1.age=MAX(t1.age)
WHERE EXISTS (SELECT COUNT(t2.AGE)
              FROM table t2
              WHERE t1.NAME=t2.NAME
              GROUP BY t2.NAME
              HAVING COUNT(t2.AGE) > 1)

SQL Error: ORA-00934: group function is not allowed here

Segundo problema

Incluso si tengo la declaración anterior para trabajar, hay un segundo problema. La idea es usar elMAX (oMIN) funcionan en cadenas para establecer el mismo valor para todas las repeticiones dentro de un grupo.

Pero desafortunadamente, esto tampoco funcionaría como se desea. Para mantener la coherencia, lo ideal sería una edad predeterminada para el grupo de edad más bajo. Pero porqueMAX/MIN compare el orden alfabético en las cadenas, esto daría, por ejemplo:

"66-74" y "Menos de 65" => MAX = "Menos de 65" - Más bajo"66-74" y "Más de 75" => MAX = "Más de 75" - Máximo

Solo hay cuatro grupos de edad, ¿sería posible especificar un pedido personalizado?

NB1: Estoy usando Oracle SQL.NB2: No me importa si hay una manera de lograr el resultado utilizando una instrucción SELECT en lugar de una ACTUALIZACIÓN.

Ejemplo reproducible

SELECT 'Jack' as NAME, 'Under 65' as AGE, 3 as VALUE from dual
UNION ALL
SELECT 'Jack' as NAME, '66-74' as AGE, 5 as VALUE from dual
UNION ALL
SELECT 'John' as NAME, '66-74' as AGE, 7 as VALUE from dual
UNION ALL
SELECT 'John' as NAME, 'Over 75' as AGE, 9 as VALUE from dual
UNION ALL
SELECT 'Gill' as NAME, '25-35' as AGE, 11 as VALUE from dual

Respuestas a la pregunta(1)

Su respuesta a la pregunta