Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memilih Hanya Baris Terkini daripada Jadual Berkaitan dalam MySQL menggunakan JOINs?

Bagaimana untuk Memilih Hanya Baris Terkini daripada Jadual Berkaitan dalam MySQL menggunakan JOINs?

Susan Sarandon
Lepaskan: 2025-01-01 13:12:11
asal
885 orang telah melayarinya

How to Select Only the Most Recent Row from a Related Table in MySQL using JOINs?

Memilih Baris Terkini Hanya melalui MySQL JOIN

Berkaitan dengan menyertai jadual untuk mengakses data pelanggan, anda mungkin menghadapi situasi yang anda inginkan untuk mengambil hanya entri terbaharu daripada jadual berkaitan. Ini lazim dalam senario di mana data sejarah disimpan. Nasib baik, MySQL menyediakan pelbagai pendekatan untuk mencapai ini.

Satu kaedah melibatkan penggunaan subkueri berkorelasi dalam klausa WHERE. Pendekatan ini melibatkan merujuk alias jadual induk untuk mendapatkan semula baris yang sepadan daripada jadual anak. Contohnya:

SELECT c.*,
FROM client AS c
LEFT JOIN client_calling_history AS cch ON cch.client_id = c.client_id
WHERE
   cch.cchid = (
      SELECT MAX(cchid)
      FROM client_calling_history
      WHERE client_id = c.client_id AND cal_event_id = c.cal_event_id
   )
Salin selepas log masuk

Pertanyaan ini hanya mendapatkan rekod sejarah panggilan terbaharu untuk setiap pelanggan.

Selain itu, anda menyebut menggunakan CONCAT dalam predikat SUKA. Penggunaan ini sah dalam MySQL dan membolehkan anda mencari subrentetan dalam nilai lajur yang digabungkan.

Dalam pertanyaan awal anda, anda menggunakan INNER JOIN, yang mengembalikan baris yang sepadan daripada kedua-dua jadual. Walau bagaimanapun, anda juga menyatakan ketidakpastian tentang jenis JOIN yang sesuai. Berikut ialah penjelasan ringkas:

  • INNER JOIN: Mendapatkan semula baris yang sepadan dalam kedua-dua jadual.
  • LEFT JOIN: Mendapatkan semula semua baris daripada jadual kiri, walaupun tiada padanan wujud di sebelah kanan jadual.
  • KANAN SERTAI: Sama seperti LEFT JOIN, tetapi mendapatkan semula semua baris dari jadual kanan.
  • FULL JOIN: Menggabungkan INNER JOIN dan OUTER JOINS, mengembalikan semua baris daripada kedua-duanya jadual.

Memilih jenis JOIN yang betul bergantung pada keperluan pertanyaan khusus anda.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Hanya Baris Terkini daripada Jadual Berkaitan dalam MySQL menggunakan JOINs?. 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