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

Était-ce utile?

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
scroll top