Oracle
 sql >> база данни >  >> RDS >> Oracle

Актуализирайте дублиращи се редове само с функция MAX в SQL

Можете да дефинирате персонализиран ред с case when клауза и след това използвайте аналитичен max() . Това работи за дадени примери:

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. Нека Oracle трансформира предикатите, свързани с ИЛИ, в операции UNION ALL

  2. Заявка за свързване на множество таблици в Oracle SQL плюс 11g

  3. Можете ли да ми помогнете да напиша процедура в Oracle за изпращане на данни от таблица в CSV файл?

  4. как да извикате съхранена функция на IN и OUT параметър в Oracle Database с помощта на Java

  5. Expdp от средата на Oracle RAC