J'ai essayé la requête suivante pour sélectionner le nombre de groupes résultant d'une requête GROUP BY:
SELECT count(*) FROM ( SELECT count(*) FROM MyTable WHERE Col2 = 'x' GROUP BY Col1 )
Malheureusement, cette requête n'est pas valide: Incorrect syntax near ')'.
.
Note: Je veux get exactement une ligne (j'ai déjà trouvé une solution avec n fois le résultat, où n = le nombre de groupes).
SELECT count(*) FROM ( SELECT 1 as dummy FROM MyTable WHERE Col2 = 'x' GROUP BY Col1 ) dt
Pas besoin de countr les lignes dans la sous-requête, le résultat sera le même quand même.
SELECT COUNT(*) FROM ( SELECT value = COUNT(*) FROM MyTable WHERE Col2 = 'x' GROUP BY Col1 ) е
mais je pense – vous devez essayer cette requête –
SELECT COUNT(DISTINCT Col1) FROM MyTable WHERE Col2 = 'x'
Vous devez mettre des noms sur les colonnes et les tables …
SELECT count(*) Total FROM ( SELECT count(*) Groups FROM MyTable WHERE Col2 = 'x' GROUP BY Col1 ) a