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

Generowanie uporządkowanej rangi sekwencji na złożonym zapytaniu

Co powiesz na podwojenie liczby 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. Jak uzyskać sumowanie z liczbą większą niż określona kwota

  2. Jak stworzyć odpowiednik kolumny tożsamości serwera SQL w Postgresie

  3. Jak określić bieżącą działającą bazę danych dla skryptu inicjującego kontenera docker postgres?

  4. Warunek sekwencjonowania na połączonym stole nie działa z warunkiem limitu

  5. Sprawdź, czy sekwencja istnieje w Postgresie (plpgsql)