sql >> Database >  >> RDS >> Oracle

Werk dubbele rijen alleen bij met een MAX-functie in SQL

U kunt een aangepaste volgorde definiëren met case when clausule en gebruik dan analytische max() . Dit werkte voor gegeven voorbeelden:

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. PostgreSQL 9.1 installatie en databasecodering

  2. mySQL Get TOP 100 scores query maakt me gek

  3. mysql2 gem gecompileerd voor verkeerde mysql-clientbibliotheek

  4. Gegevens van MYSQL in JSON krijgen met behulp van PHP