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

Tạo thứ hạng trình tự có thứ tự trên truy vấn phức tạp

Làm thế nào về việc tăng gấp đôi trên row_number ()?

with enchilada as (
SELECT firstname,lastname,personid,year,(SELECT COALESCE(SUM(thevalue),0)
FROM assets WHERE personidref = w.personid) AS assets ,
(SELECT COALESCE(SUM(amount),0) FROM liabilities WHERE personidref = w.personid AND year = w.year) AS liabilities,
((SELECT COALESCE(SUM(thevalue),0) FROM assets WHERE personidref = w.personid AND year = w.year) - (SELECT COALESCE(SUM(amount),0) FROM liabilities WHERE personidref = w.personid AND year = w.year)) as worth,
row_number() over(ORDER BY w.worth) as rank
FROM members w
WHERE year = 2012
ORDER BY worth DESC LIMIT 2 )
select row_number() over (order by rank) as new_rank, * from enchilada;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách kiểm tra xem một dịch vụ mà tôi không biết tên có đang chạy trên Ubuntu hay không

  2. Không thể sử dụng bảng có tên người dùng trong chế độ ngủ đông postgresql

  3. Ràng buộc khóa ngoại với một số giá trị cột nằm trong các bảng khác

  4. Làm thế nào để tạo trường ARRAY với ràng buộc khóa ngoại trong SQLAlchemy?

  5. Cách cài đặt PostgreSQL trên macOS