Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Konvertieren Sie keep dense_rank von der Oracle-Abfrage in postgres

Sie können PostgreSQL WINDOW FUNCTIONS verwenden

-- 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
)