Patrząc na pożądany wynik, jest to dziwaczne wymaganie, ponieważ chcesz, aby wszystkie liczyły się (nie dla każdego Name
). W tym celu możesz użyć podzapytania:
SELECT `Name`, (SELECT COUNT(*) FROM myTable) as `COUNT`
FROM myTable
Lub jeśli chcesz liczyć dla każdego Name
spróbuj tego:
SELECT `Name`, COUNT(*) AS `COUNT`
FROM myTable
GROUP BY `Name`;
EDYTUJ:
Po zaktualizowaniu pytania Twoje zapytanie powinno wyglądać tak:
SELECT `Name`,
(SELECT COUNT(*) FROM myTable WHERE TypeId = 1 GROUP BY TypeId) as `COUNT`
FROM myTable WHERE TypeId = 1;