MySQL 的 UNION 和 LIMIT:高效檢索多個公司的頂級職位
本文示範如何使用 MySQL 的 UNION
和 LIMIT
子句從不同公司擷取指定數量的頂層職位。 挑戰在於將 LIMIT
獨立地應用於每個公司的職位選擇,而不是在全球所有公司中應用。
一種常見但有缺陷的方法使用 UNION DISTINCT
和單一 LIMIT
子句。這會將限制應用於組合結果集,而不是單獨應用於每個公司。
解決方案(如 MySQL 文件中詳細介紹)涉及在 LIMIT
查詢的每個單獨 語句中應用 子句 SELECT
。 這確保了每個公司數據的獨立限制。 UNION
<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>該查詢有效地檢索了每個公司的前 10 個職位,滿足
操作中獨立限制的要求。 在處理多個資料來源時,該技術對於準確且有效率的資料檢索至關重要。 UNION
以上是如何使用MySQL的UNION和LIMIT檢索多個公司的前N個職位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!