PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Dense_rank chuyển đổi Oracle sang Postgresql đầu tiên

Tôi nghĩ bạn có thể chuyển đổi nó để chứa một DENSE_RANK() và thực hiện MAX trong số tất cả trên bản ghi đầu tiên.

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. Sự cố với accept_nested_attributes_for trong Rails 5.0.0.beta3, tùy chọn -api

  2. Cách xây dựng lại một PostgreSQL Slave không nhất quán

  3. Trạng thái SQL:42883, Không có hàm nào phù hợp với các kiểu đối số và tên đã cho. Nhưng chức năng đó thực sự tồn tại

  4. Điền vào các hàng còn thiếu khi tổng hợp trên nhiều trường trong Postgres

  5. Tạo bảng sql từ khung dữ liệu dask bằng map_partitions và pd.df.to_sql