PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Gęsta_ranking pierwsza konwersja Oracle do Postgresql

Myślę, że możesz go przekonwertować, aby zawierał pojedynczy DENSE_RANK() i wykonaj MAX wszystkich na pierwszej płycie.

SELECT UID,
       MAX(OWNER),
       MAX(EMPLOYEE_KEY),
       MAX(MANAGER),
       MAX(CALL_CENTER_NAME),
       MAX(CITY)
  FROM (SELECT ai.UID,
               ai.OWNER AS OWNER,
               ai.EMPLOYEE_KEY AS EMPLOYEE_KEY,
               ai.MANAGER_LOGIN AS MANAGER,
               ai.CALL_CENTER_NAME AS CALL_CENTER_NAME,
               ai.CITY AS CITY,
               DENSE_RANK () OVER (PARTITION BY ai.UID ORDER BY ai.AGENT_ID DESC) rnk
          FROM agent_info ai
         WHERE TRANSLATE (ai.UID, 'X0123456789', 'X') IS NULL)
 WHERE rnk = 1
GROUP BY UID;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tworzenie sekwencji na istniejącym stole

  2. Korzystanie z zapytania Hibernate:dwukropek jest traktowany jako parametr / dwukropek ucieczki

  3. Jak sprawić, by alembik emitował niestandardowy DDL na after_create?

  4. Jak zaimplementować relację wiele-do-wielu w PostgreSQL?

  5. WYBIERZ * Z NOWEJ TABELI odpowiednik w Postgres