PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Memilih baris yang diurutkan oleh beberapa kolom dan berbeda di kolom lainnya

Pertanyaan yang cukup jelas :)

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

Dan kemungkinan besar pendekatan yang lebih cepat:

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. Permintaan pembaruan sederhana yang lambat pada database PostgreSQL dengan 3 juta baris

  2. Pernyataan yang Disiapkan tentang Postgresql di Rails

  3. Daftar fungsi tersimpan yang mereferensikan tabel di PostgreSQL

  4. Cara Mengembalikan Daftar Koleksi yang Tersedia di PostgreSQL

  5. Kesalahan saat membuat ekstensi tanpa aksen di PostgreSQL