Complete worked example
sql
WITH eligible AS (SELECT r.* FROM roles r WHERE r.active=1
AND r.country IN ('UA','US')
AND r.published >= '2026-10-01' AND r.published < '2026-10-05'
AND EXISTS (SELECT 1 FROM role_skills s WHERE s.role_id=r.id AND s.skill='SQL')),
counts AS (SELECT company_id, COUNT(*) AS n, COUNT(salary) AS observed,
ROUND(AVG(salary),2) AS mean FROM eligible GROUP BY company_id)
SELECT c.id, COALESCE(x.n,0), COALESCE(x.observed,0), x.mean
FROM companies c LEFT JOIN counts x ON x.company_id=c.id ORDER BY c.id;- Reasoning
- Eligibility is proved before grouping; EXISTS avoids skill multiplication.