Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan N Pekerjaan Teratas daripada Berbilang Syarikat Menggunakan MySQL UNION dan LIMIT?

Bagaimana untuk Mendapatkan N Pekerjaan Teratas daripada Berbilang Syarikat Menggunakan MySQL UNION dan LIMIT?

Linda Hamilton
Linda Hamiltonasal
2025-01-14 12:56:44213semak imbas

How to Retrieve the Top N Jobs from Multiple Companies Using MySQL's UNION and LIMIT?

MYSQL's UNION and LIMIT: Cekap Mendapatkan Pekerjaan Teratas daripada Berbilang Syarikat

Artikel ini menunjukkan cara untuk mendapatkan semula bilangan pekerjaan teratas tertentu daripada syarikat yang berbeza menggunakan klausa UNION dan LIMIT MySQL. Cabarannya terletak pada menerapkan LIMIT pada pemilihan pekerjaan setiap syarikat secara bebas, bukannya secara global merentas semua syarikat.

Pendekatan biasa, tetapi cacat, menggunakan UNION DISTINCT dengan satu klausa LIMIT. Ini menggunakan had pada set hasil gabungan, bukan kepada setiap syarikat secara individu.

Penyelesaian, seperti yang diperincikan dalam dokumentasi MySQL, melibatkan penggunaan klausa LIMIT dalam setiap individu SELECT pernyataan UNION pertanyaan. Ini memastikan pengehadan bebas untuk setiap data syarikat.

Berikut ialah pertanyaan yang dioptimumkan untuk mendapatkan 10 pekerjaan teratas daripada 'Company1' dan 'Company2':

<code class="language-sql">(SELECT c.name, j.title, j.`desc`, j.link
  FROM jobs_job j
INNER JOIN companies_company c ON j.company_id = c.id
WHERE c.name IN ('Company1')
ORDER BY name, title
LIMIT 0, 10)
UNION
(SELECT c.name, j.title, j.`desc`, j.link
  FROM jobs_job j
INNER JOIN companies_company c ON j.company_id = c.id
WHERE c.name IN ('Company2')
ORDER BY name, title
LIMIT 0, 10)</code>

Pertanyaan ini secara berkesan mendapatkan semula 10 pekerjaan teratas daripada setiap syarikat, memenuhi keperluan untuk mengehadkan bebas dalam operasi UNION. Teknik ini penting untuk mendapatkan semula data yang tepat dan cekap apabila bekerja dengan berbilang sumber data.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan N Pekerjaan Teratas daripada Berbilang Syarikat Menggunakan MySQL UNION dan LIMIT?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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