Łączenie operacji UNION i LIMIT w zapytaniu MySQL
mamOferty pracy i aFirmy i chcę wyodrębnić 20 zadań spełniających następujące kryteria:
Praca tylko od dwóch (2) nazwanych firmNa przedsiębiorstwo może przypadać co najwyżej 10 miejsc pracyPróbowałem następujących rzeczySELECT
zUNION DISTINCT
, ale problem polega na tym, żeLIMIT 0,10
dotyczy całego zestawu wyników. Chcę, żeby dotyczyło to każdej ze spółek.
Jeśli w firmie nie ma 10 zadań, zapytanie powinno zwrócić wszystkie znalezione zadania.
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
Jestem nowym użytkownikiem MySQL, więc zdaj sobie sprawę, że może być mądrzejszy sposób na zrobienie tego zamiast z UNION, więc wszelkie sugestie dotyczące ulepszeń są zdecydowanie mile widziane.