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
Lepaskan: 2025-01-14 12:56:44
asal
210 orang telah melayarinya

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>
Salin selepas log masuk

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!

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