Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Aktualizuj zduplikowane wiersze tylko za pomocą funkcji MAX w SQL

Możesz zdefiniować niestandardową kolejność za pomocą case when klauzulę, a następnie użyj analitycznego max() . To zadziałało dla podanych przykładów:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-00927:brak znaku równości

  2. plsql - jak zwrócić tablicę asocjacyjną do java

  3. Zgodność HSQLDB ROWNUM z Oracle

  4. Wyrocznia. Zapobieganie scalaniu podzapytania i warunków zapytania głównego

  5. Jak uzyskać parametr wyjściowy procedury składowanej, który jest tablicą do pracy?