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

Wybieranie wierszy uporządkowanych według jednej kolumny i odrębnych w innej

Całkiem jasne pytanie :)

SELECT t1.* FROM purchases t1
LEFT JOIN purchases t2
ON t1.address_id = t2.address_id AND t1.purchased_at < t2.purchased_at
WHERE t2.purchased_at IS NULL
ORDER BY t1.purchased_at DESC

I najprawdopodobniej szybsze podejście:

SELECT t1.* FROM purchases t1
JOIN (
    SELECT address_id, max(purchased_at) max_purchased_at
    FROM purchases
    GROUP BY address_id
) t2
ON t1.address_id = t2.address_id AND t1.purchased_at = t2.max_purchased_at
ORDER BY t1.purchased_at DESC


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. nie można utworzyć rozszerzenia bez roli administratora

  2. Jak mogę wysłać żądanie http z funkcji lub wyzwalacza postgresql?

  3. Slick 2.0 Ogólne operacje CRUD

  4. Spark Dataframes UPSERT do Postgres Table

  5. Czy mogę pisać funkcje PostgreSQL w Ruby on Rails?