PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

जटिल क्वेरी पर एक क्रमबद्ध अनुक्रम रैंक उत्पन्न करना

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. एक कॉलम की कई परिणाम पंक्तियों को एक में, दूसरे कॉलम द्वारा समूहित करें

  2. PostgreSQL डेटा तुलना उपकरण

  3. मास्टर टेबल से विरासत में मिली सभी विभाजन तालिकाएँ खोजें

  4. PostgreSQL:एक ही क्वेरी में परिकलित कॉलम का उपयोग करना

  5. PostgreSQL त्रुटि 42501:स्कीमा के लिए अनुमति अस्वीकृत