sql >> Databáze >  >> RDS >> Oracle

Aktualizujte duplicitní řádky pouze pomocí funkce MAX v SQL

Vlastní pořadí můžete definovat pomocí case when klauzuli a poté použijte analytické max() . Toto fungovalo pro uvedené příklady:

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. MySQL:existuje něco jako interní identifikátor záznamu pro každý záznam v tabulce MySQL?

  2. Jak používat spouštěče v laravelu?

  3. Jaký je nejlepší nástroj pro porovnání dvou databází SQL Serveru (schéma a data)?

  4. Java, jak změnit aktuální databázi na jinou?