Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyoal Data Lokasi Terkini dalam MySQL Dengan Cekap Menggunakan Penyata JOIN?

Bagaimana untuk Menyoal Data Lokasi Terkini dalam MySQL Dengan Cekap Menggunakan Penyata JOIN?

Susan Sarandon
Lepaskan: 2024-12-04 08:27:12
asal
962 orang telah melayarinya

How to Efficiently Query for the Most Recent Location Data in MySQL Using JOIN Statements?

Mencari Tarikh Maksimum dalam Penyata Sertai untuk MySQL

Untuk mendapatkan semula lokasi bersejarah rekod dalam MySQL, anda boleh menggunakan pernyataan JOIN . Walau bagaimanapun, apabila menghadapi isu prestasi dan data pendua dalam keputusan, pendekatan yang diubah suai diperlukan.

Pertanyaan Diubahsuai

Untuk mendapatkan hanya masa terkini yang diubah suai untuk setiap ID rekod dan lokasi, pertimbangkan pertanyaan berikut:

SELECT t1.received_id
     , t1.transaction_id
     , t1.date_modified
     , l.location
  FROM transactions t1
  JOIN ( SELECT received_id, MAX(date_modified) maxmodify FROM transactions GROUP BY received_id) max_record
    ON max_record.received_id = t1.received_id 
   AND max_record.maxmodify = t1.date_modified
  JOIN locations l
    ON l.location_id = t1.location_id
  JOIN received r
    ON r.received_id = t1.received_id
 WHERE t1.received_id = '1782'
 ORDER 
    BY t1.date_modified DESC
Salin selepas log masuk

Kunci Pengubahsuaian

Pengubahsuaian terletak pada subkueri:

SELECT received_id, MAX(date_modified) maxmodify FROM transactions GROUP BY received_id
Salin selepas log masuk

Subkueri ini mendapatkan tarikh maksimum untuk setiap received_id.

Menyertai pada Maksimum

Pertanyaan utama kemudiannya bergabung pada subkueri ini menggunakan dua syarat:

  1. max_record.received_id = t1.received_id: memastikan ID rekod sepadan.
  2. max_record.maxmodify = t1.date_modified: memilih hanya transaksi dengan tarikh maksimum.

Dengan menyertai pada tarikh maksimum, anda menghapuskan hasil pendua dan menangkap sahaja perubahan lokasi terbaharu.

Atas ialah kandungan terperinci Bagaimana untuk Menyoal Data Lokasi Terkini dalam MySQL Dengan Cekap Menggunakan Penyata JOIN?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan