le comptage SQL nombre total de lignes avec distinctes?
Question
i besoin d'une requête complexe:
Considérez ce tableau:
ID - field1 - field2
=================
1 a 10
2 a 10
3 a 20
4 b 20
i besoin d'une requête qui compte le total record regroupés par champ1 et champ2. Je veux dire besoin de ce résultat i:
field - count
==================
field1 a - 3
field1 b - 1
field2 10 - 2
field2 20 - 2
peut-être que je dois faire 2 requête pour chaque champ i besoin le compte?
SELECT field1, COUNT( * ) FROM t1 GROUP BY field1
Merci pour toutes suggestions
La solution
vous avez besoin de deux SELECTs, mais vous pouvez les amener à revenir un seul jeu de résultats comme suit. Notez que vous devez CAST la première SELECT afin que les valeurs sont compatibles avec le champ de texte dans la deuxième SELECT:
SELECT 'field1' AS FieldName, CAST(field1 AS CHAR) AS FieldValue, COUNT(*) AS Count
FROM table GROUP BY field1
UNION ALL
SELECT 'field2' AS FieldName, field2 AS FieldValue, COUNT(*) AS Count
FROM table GROUP BY field2
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow