Base de données

Résolu/Fermé
Coutcout86 Messages postés 195 Date d'inscription lundi 23 novembre 2009 Statut Membre Dernière intervention 26 mai 2016 - Modifié par Coutcout86 le 10/12/2013 à 14:19
francis0001 Messages postés 22 Date d'inscription jeudi 11 décembre 2008 Statut Membre Dernière intervention 23 décembre 2013 - 11 déc. 2013 à 11:46
Bonjour,

Je suis venu la dernière fois pour un problème de COUNT sur une requête SQL. Je reviens encore pour un problème de COUNT sur une requête SQL. Voici mes données :


CODE_SEANCE DATE_SEANCE DUREE_SEANCE MATIERE NOM_FORMATION
00001 23/08/2013 180 Maths Formation 1
00001 23/08/2013 180 Maths Formation 1
00001 23/08/2013 180 Maths Formation 1
00002 10/10/2013 60 Anglais Formation 1
00002 10/08/2013 60 Anglais Formation 1

Donc j'ai autant de ligne que d'apprenant liés à la Séance d'une Formation (donc j'ai 3 apprenants en Maths et deux en Anglais ). Mais moi j'aimerais compter la durée de la séance de maths et la durée de la d'anglais. Comment faire ? Les GROUP BY ne marchent pas et sachant qu'un apprenant peut être dans la séance de maths et d'anglais.

Pourriez-vous m'aider à résoudre cette problématique s'il vous plait ?

Merci d'avance.
Romain COUTINEAU

4 réponses

Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
10 déc. 2013 à 19:22
Bonjour !
Compter la durée de la séance de math, tu veux dire la somme de toutes tes lignes justes pour une matière ? Si c'est ça :
Select SUM(DUREE_SEANCE) from TABLE where MATIERE="Maths"
0
francis0001 Messages postés 22 Date d'inscription jeudi 11 décembre 2008 Statut Membre Dernière intervention 23 décembre 2013 1
11 déc. 2013 à 00:27
Essaye ça :


select MATIERE, count(DUREE_SEANCE)
from nom_de_ta_table
group by MATIERE;

Il devrait marcher sans problème si j'ai bien compris ta demande...

PS: La structure de ta table est horrible, je ne vois même pas de clé primaire... J'espère pas que tu vas t'en servir pour quelque chose d'assez important sinon je t'invite à lire les règles de normalisation, ça peut t'aider et pour éviter notamment tout problème de requête...
0
Coutcout86 Messages postés 195 Date d'inscription lundi 23 novembre 2009 Statut Membre Dernière intervention 26 mai 2016
11 déc. 2013 à 08:22
Pour répondre à vos interrogations, je veux avoir la durée total des heures pour cette formation. Dans mon exemple, j'aimerais avoir 240 minutes pour la Formation1.

Donc je pense que pour la requête de Francis0001 elle ne récupére que le nombre de ligne c'est à dire 5 et pour la requête de Nhay elle récupére la somme de toutes les lignes c'est à dire 660. Alors que moi je ne veux pas ça

Est-ce possible ? Et pourriez-vous m'aider à cette problématique ?

Merci d'avance.
Romain COUTINEAU.
0
francis0001 Messages postés 22 Date d'inscription jeudi 11 décembre 2008 Statut Membre Dernière intervention 23 décembre 2013 1
11 déc. 2013 à 11:46
SELECT nom_formation, sum(duree_seance)
FROM nom_de_ta_table
GROUP BY nom_formation;

(group by si tu as plusieurs formations)
0