J'ai besoin de votre aide, voici ma requête SQL:
select count(SID)
from Test
where Date = '2012-12-10'
group by SID
voici mon résultat:
|2|
|3|
|4|
|3|
et maintenant je dois compter les résultats de la première requête!
Expected result: 4
Vous pouvez encapsuler votre requête dans un autre SELECT
:
select count(*)
from
(
select count(SID) tot -- add alias
from Test
where Date = '2012-12-10'
group by SID
) src; -- add alias
Voir SQL Fiddle with Demo
Pour que cela fonctionne, la count(SID)
a besoin d'un alias de colonne et vous devez fournir un alias à la sous-requête elle-même.
Cela compte les lignes de la requête interne:
select count(*) from (
select count(SID)
from Test
where Date = '2012-12-10'
group by SID
) t
Cependant, dans ce cas, l'effet est le même que celui-ci:
select count(distinct SID) from Test where Date = '2012-12-10'
select count(*) from(select count(SID) from Test where Date = '2012-12-10' group by SID)
sélectionnez le nombre (*) de (sélectionnez le nombre (SID) de Test où Date = '2012-12-10' groupe par SID)
devrait fonctionner