Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment récupérer des données avec le nombre total à l'aide d'une requête unique mysql

En regardant le résultat souhaité, il s'agit d'une exigence bizarre car vous voulez que tout compte (pas pour chaque Name ). Vous pouvez utiliser une sous-requête pour cela :

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

Ou si vous voulez compter pour chaque Name essayez ceci :

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

MODIF :

Comme vous avez mis à jour votre question, votre requête devrait ressembler à ceci :

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

Voir ce SQLFiddle