sql >> Databáze >  >> RDS >> Oracle

Převeďte keep dense_rank z dotazu Oracle na postgres

Můžete použít WINDOW FUNCTIONS PostgreSQL

-- we only added infos to the activity_monitor_transaction
-- we are free to group by date_time or status
SELECT
  first_value(status) OVER w AS global_transaction_status,
  count(*) OVER w AS global_transaction_count,
  activity_monitor_transaction.*
FROM
  activity_monitor_transaction
WINDOW w AS (
  PARTITION BY global_transaction_id
  ORDER BY date_time DESC, id DESC
  ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
)



  1. Jak získat seznam tabulek bez omezení primárního klíče v databázi SQL Server - SQL Server / Výukový program T-SQL, část 58

  2. Jak spojit výsledky dvou dotazů do jedné datové sady

  3. Vložit do výběru MySQL

  4. seskupit podle data agregační funkce v postgresql