Dans une application que j'ai écrite, j'ai beaucoup de questions qui semblent devoir être une ... mais je ne peux pas comprendre comment le faire.Comment puis-je obtenir plusieurs COUNT à partir d'une seule colonne avec une requête?
Voici un exemple:
SELECT SUM(enrollment) AS SchoolEnrollment, COUNT(institutionID) AS NumberOfSchools
FROM Schools
WHERE LevelID IN (4,5,6,7,8,14,15,16,20)
SELECT SUM(enrollment) AS SchoolEnrollment, COUNT(institutionID) AS NumberOfSchools
FROM Schools
WHERE LevelID IN (10,11)
Alors j'ai quatre requêtes supplémentaires qui sont identiques, qui ne diffèrent que dans les années LevelID qui figurent dans la dernière ligne. Je reçois essentiellement une somme d'inscriptions et le nombre d'écoles, en fonction des niveaux qu'ils offrent. Gardez à l'esprit que je n'ai pas seulement besoin des résultats (je pourrais simplement UNION ces requêtes), j'ai besoin de savoir quel numéro est lequel.
Merci pour tout conseil.
Russell Schutte
Merci ... J'avais pensé au GROUP BY ... mais ensuite j'ai eu des problèmes en connaissant mes valeurs de retour afin que je puisse correctement additionner le (4,5,6,7,8,14, 15,16,20), par exemple. Y-a-t-il un moyen de faire ça? –
Que voulez-vous dire connaître vos valeurs de retour? En utilisant le groupe par, vous avez une colonne pour LevelID et une colonne pour le nombre d'institutions pour chaque LevelID. Vous pouvez également avoir une troisième colonne pour l'inscription totale pour ce LevelID. Une fois cette requête récupérée, vous pouvez simplement ajouter les lignes ayant les LevelID que vous souhaitez combiner. – GendoIkari
Merci Gendolkari ... J'ai regardé cela si longtemps, je n'ai pas pensé à simplement ajouter le ColumnName (LevelID) dans la requête - exactement comme vous l'avez montré! Merci beaucoup! –