Middle
Jak vytvořit SQL dotaz pro spočítání počtu zaměstnanců v kategoriích platů s výstupem 0 pro prázdné kategorie?
sobes.tech AI
Odpověď od AI
Chcete-li spočítat počet zaměstnanců v každé kategorii platu a zobrazit 0 pro kategorie, ve kterých nejsou žádní zaměstnanci, musíte použít LEFT JOIN s tabulkou kategorií platů.
Předpokládejme, že existují dvě tabulky:
salary_categories(id, název_kategorie)employees(id, jméno, salary_category_id)
Příklad dotazu:
SELECT sc.název_kategorie, COUNT(e.id) AS počet_zaměstnanců
FROM salary_categories sc
LEFT JOIN employees e ON e.salary_category_id = sc.id
GROUP BY sc.název_kategorie
ORDER BY sc.název_kategorie;
Vysvětlení:
LEFT JOINzajišťuje, že všechny kategorie zsalary_categoriesbudou ve výsledku, i když v nich nejsou žádní zaměstnanci.COUNT(e.id)spočítá počet zaměstnanců v každé kategorii; pro prázdné kategorie bude výsledek 0.
Tento přístup umožňuje získat úplný seznam kategorií s přesným počtem zaměstnanců.