sql >> Databasteknik >  >> RDS >> Oracle

Uppdatera endast dubbletter av rader med en MAX-funktion i SQL

Du kan definiera anpassad ordning med case when sats och använd sedan analytisk max() . Detta fungerade för givna exempel:

update t1 set age = (
    select max(age) keep (dense_rank last 
           order by case when age = 'Over 75'  then 1
                         when age = '66-74'    then 2
                         when age = 'Under 65' then 3
                         when age = '25-35'    then 4
                    end)
    from t1 tx where tx.name = t1.name )



  1. FEL 1118 (42000) Radstorleken är för stor

  2. Hitta städer inom "X" kilometer (eller mil)

  3. får ett fel när händelsenamnet definieras på mysqlworkbench 5.5

  4. Oracle - Konvertera SDO_GEOMETRY till WKT?