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

Pilih kolom yang berbeda bersama dengan beberapa kolom lain di MySQL

Menggunakan subquery, Anda bisa mendapatkan id tertinggi untuk setiap nama, lalu pilih sisa baris berdasarkan itu:

SELECT * FROM table
WHERE id IN (
  SELECT MAX(id) FROM table GROUP BY name
)

Jika Anda mau, gunakan MIN(id) untuk mendapatkan catatan pertama untuk setiap nama, bukan yang terakhir.

Itu juga dapat dilakukan dengan INNER JOIN terhadap subquery. Untuk tujuan ini, kinerjanya harus serupa, dan terkadang Anda perlu bergabung di dua kolom dari subquery.

SELECT
  table.*
FROM 
  table
  INNER JOIN (
    SELECT MAX(id) AS id FROM table GROUP BY name
  ) maxid ON table.id = maxid.id


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql tidak menghitung baris dua kali jika data kolom diduplikasi

  2. Pemetaan Hubungan Hibernasi/Percepat penyisipan batch

  3. Contoh UTC_TIME – MySQL

  4. mysql - berapa banyak kolom yang terlalu banyak?

  5. Pilih data antara rentang tanggal/waktu