Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Pilih baris terbaru dengan GROUP BY di MySQL

Anda ingin maksimum grup ; intinya, kelompokkan tabel pembayaran untuk mengidentifikasi catatan maksimal, lalu gabungkan kembali hasilnya dengan dirinya sendiri untuk mengambil kolom lainnya:

SELECT users.*, payments.method, payments.id AS payment_id
FROM   payments NATURAL JOIN (
  SELECT   user_id, MAX(id) AS id 
  FROM     payments
  GROUP BY user_id
) t RIGHT JOIN users ON users.id = t.user_id

Perhatikan bahwa MAX(id) mungkin bukan "pembayaran terbaru ", bergantung pada aplikasi dan skema Anda:biasanya lebih baik menentukan "terbaru " berdasarkan TIMESTAMP daripada berdasarkan pengenal sintetis seperti AUTO_INCREMENT kolom kunci utama.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bergabung dengan tiga tabel menggunakan MySQL

  2. Menghubungkan MySQL ke Visual Studio C#

  3. Ubah kunci unik bersama di mysql

  4. Pisahkan string menggunakan mysql

  5. Bagaimana membandingkan dua kolom untuk menemukan catatan yang tidak cocok di MySQL