最佳答案
我有一个 工作和一个 公司表,我想提取20个满足以下标准的作业:
我已经用 UNION DISTINCT
尝试了以下 SELECT
,但问题是 LIMIT 0,10
适用于整个结果集。我希望它适用于每个公司。
如果每个公司没有10个作业,那么查询应该返回它找到的所有作业。
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')
UNION DISTINCT
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
我是 MySQL 的新手,所以意识到可能有一个更聪明的方法来代替 UNION,所以任何改进的建议都是非常受欢迎的。