Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como buscar dados com contagem total usando consulta única mysql




Olhando para o resultado desejado, este é um requisito bizarro, pois você deseja que todas as contagens (não para cada Name ). Você pode usar a subconsulta para isso:
SELECT `Name`, (SELECT COUNT(*) FROM myTable) as `COUNT`
FROM myTable

Ou se você quiser contar para cada Name tente isso:
SELECT `Name`, COUNT(*) AS `COUNT` 
FROM myTable 
GROUP BY `Name`;



EDITAR:

Como você atualizou sua pergunta, sua consulta deve ser assim:
SELECT `Name`,
(SELECT COUNT(*) FROM myTable WHERE TypeId = 1 GROUP BY TypeId) as `COUNT`
FROM myTable WHERE TypeId = 1;

Veja este SQLFiddle