Bonjour,
En ce moment je dispose d'une table avec 3 colonnes :
- date de type datetime (de 01/01/2000 à 01/07/2013)
- categorie de type string
- satisfaction de type string qui représente un "booléen" (si "Très heureux", alors 1, sinon 0).
Je souhaiterais connaitre le taux de satisfaction par catégorie, pour chaque mois.
Est-ce que la requête suivante est bien selon vous ? :
Au passage je souhaiterais vous demander ce qu'il se passe si on remplace COUNT(*) par SUM(1), est-ce que c'est équivalent ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT to_char(date, 'YYYY-MM') annee_mois, categorie, ( SUM(CASE WHEN satisfaction = 'Très heureux' THEN 1.0 ELSE 0.0 END) / COUNT(*) ) * 100 AS taux FROM ma_table GROUP BY categorie, annee_mois ORDER BY categorie, annee_mois;
Je vous remercie pour votre aide, cordialement.
Partager