Calculer un pourcentage dans une requete - SQL/NoSQL - Programmation
Marsh Posté le 15-12-2010 à 15:57:10
Quelle base de données ? Access ? MySQL ? SQL Server ? Oracle ? Sybase ?
Si je comprends bien, le pourcentage est le nombre de OUI divisé par le nombre total de réponses.
On peut facilement obtenir ce nombre total après avoir déjà fait la requête des réponses.
Mais faire les deux choses en même temps est beaucoup plus compliqué. Cela, nécessite au moins de faire une sous-requête, mais je ne sais pas si c'est possible avec votre moteur de base de données.
Pourquoi ne pas séparer la requête des réponses et le calcul du pourcentage ?
Marsh Posté le 15-12-2010 à 16:22:17
Bonjour Olivthill,
Merci pour ta réponse. Oui c'est bien ça le pourcentage est le nombre de OUI divisé par le nombre total de réponses pour chaque code.
Effectivement, j'avais pensé à faire un sous requête mais sans succès. Je pense que c'est possible sous Oracle mais j'y suis pas arrivé.
Pourrais tu me développer un peu plus ton idée de séparer la requête des réponses et le calcul du pourcentage ?
Encore merci pour ton aide.
Marsh Posté le 20-12-2010 à 17:14:25
Il faut faire une première requête qui ramènera le total (tu mets le code, et une somme sur le total des réponses elle sera utilisée comme "une table" source
Code :
|
Ensuite ta requete existante dans laquelle tu rajoutes le champs calculés en faisant ta jointure sur le code.
Essaye la requete ci-dessous
Code :
|
Marsh Posté le 21-12-2010 à 09:20:23
Bonjour dlaumor,
Merci beaucoup pour ton aide. Je ne savais pas que l'on pouvais imbriquer une requête select dans un inner join. Super ! Merci encore.
Marsh Posté le 21-12-2010 à 11:18:49
Une autre solution aurait été de créer une vue avec la première requête et de faire ta jointure sur la vue, ça revenait au même
Marsh Posté le 15-12-2010 à 15:43:15
Bonjour,
Je me permets de poster un message sur le forum car j'ai un petit souci dans ma requête SQL. Je voudrais afficher le pourcentage de réponse oui dans mon SELECT et j'y arrive pas.
Pour le moment ma requete m'affiche les résultats suivants :
Compte ICD | Reponse | Code
2 | NON | C76.4
5 | OUI | C76.4
3 | OUI | C26.9
ce que je voudrais c'est afficher une colonne supplémentaire qui serait de la façon suivante :
Compte ICD | Reponse | Code | Pourcentage oui
2 | NON | C76.4 |
5 | OUI | C76.4 | 71.42
3 | OUI | C26.9 | 100
Ma table se structure de la façon suivante :
RESOURCE :
ID_RES | ICD | CONSENT | SAMPLE_DATE
Ma requête est la suivante :
Est ce que quelqu'un aurait une idée de comment faire pour afficher cette colonne pourcentage ?
Merci d'avance.