Requête avec count et where
Bonjour,
J'ai une table TABLE contenant les champs :
Code:
1 2 3 4 5
|
_id (INTEGER PK)
NAME (VARCHAR)
ACT (INTEGER)
CHECKED (INTEGER) |
Les entrées ont un NAME quelconque, un ACT entre 1 et 5, et CHECKED qui vaut 0 pour false et n'importe quel entier pour true.
Le but est d'obtenir un tableau de résultat comportant comme colonnes : ACT, compte d'entrée pour cet ACT, compte d'entrée CHECKED pour cet ACT.
En gros, le tableau devra ressembler à :
Code:
1 2 3 4 5 6 7
|
ACT | TOTAL | CHECKED
1 | 21 | 5
2 | 24 | 20
3 | 27 | 7
4 | 10 | 8
5 | 41 | 11 |
J'arrive en fait à récupérer soit les colonnes ACT et TOTAL dans le même résultat, soit les colonnes ACT et CHECKED via les requêtes suivantes :
ACT et TOTAL :
Code:
1 2 3 4 5
|
select ACT, count(*)
FROM TABLE
WHERE ACT IN (select ACT from TABLE group by ACT)
GROUP BY ACT |
ACT et CHECHED :
Code:
1 2 3 4 5 6
|
select ACT, count(*)
FROM TABLE
WHERE ACT IN (select ACT from TABLE group by ACT)
AND CHECKED != 0
GROUP BY ACT |
Comment faire pour ajouter la colonne manquante à l'un de ces deux résultats ?