sql >> Databáze >  >> RDS >> PostgreSQL

Dense_rank první převod Oracle na Postgresql

Myslím, že jej můžete převést tak, aby obsahoval jeden DENSE_RANK() a proveďte MAX ze všech na prvním záznamu.

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. Postgresql oddíl a sqlalchemy

  2. mysql a php PDO – co se stane s nepotvrzenou transakcí, pokud se spojení neočekávaně uzavře?

  3. Logy komprimovaného archivu PostgreSQL ve Windows

  4. Povolení mikrosekund v Symfony2 (Doctrine) a MySQL