sql >> Base de Datos >  >> RDS >> Mysql

Cómo obtener datos con un recuento total usando una consulta única de mysql

Mirando el resultado deseado, este es un requisito extraño ya que desea que todos cuenten (no para cada Name ). Puede usar una subconsulta para eso:

SELECT `Name`, (SELECT COUNT(*) FROM myTable) as `COUNT`
FROM myTable

O si quieres contar para cada Name prueba esto:

SELECT `Name`, COUNT(*) AS `COUNT` 
FROM myTable 
GROUP BY `Name`;

EDITAR:

Como ha actualizado su pregunta, su consulta debería ser así:

SELECT `Name`,
(SELECT COUNT(*) FROM myTable WHERE TypeId = 1 GROUP BY TypeId) as `COUNT`
FROM myTable WHERE TypeId = 1;

Ver este SQLFiddle