Somme en sql
layork
Messages postés
364
Statut
Membre
-
Siiim -
Siiim -
re coucou!!!
je vous explique le probleme:
en fait j'ai dans ma base un champs duree de type TIME
et en fait, je voudrais simplement savoir comment on fait une requete qui donnerais la somme des durées
un truc dans ce genre:
$somme="SELECT SUM FROM appels WHERE 1 AND nom_diplomat LIKE '$nom_diplomat' AND dates LIKE '$date'
AND dates BETWEEN '$date1' AND '$date2' ";
l'informatique ca rend fou!!!!!
je vous explique le probleme:
en fait j'ai dans ma base un champs duree de type TIME
et en fait, je voudrais simplement savoir comment on fait une requete qui donnerais la somme des durées
un truc dans ce genre:
$somme="SELECT SUM FROM appels WHERE 1 AND nom_diplomat LIKE '$nom_diplomat' AND dates LIKE '$date'
AND dates BETWEEN '$date1' AND '$date2' ";
l'informatique ca rend fou!!!!!
A voir également:
- Somme en sql
- Formule somme excel ligne - Guide
- Somme si couleur - Guide
- Somme en anglais excel - Guide
- Logiciel sql - Télécharger - Bases de données
- SOMME SI COULEUR ✓ - Forum Excel
10 réponses
Salut,
J'ai eu le même genre de soucis, en fait tu passer par des fonction MySQL :
TIME_TO_SEC(tonchamptime) -> renvoie la valeur de ton champ HH:MM:SS en seconde
et l'inverse
SEC_TO_TIME(valeurenseconde) -> renvoie HH:MM:SS d'une valeur en seconde
Avec ça tu peux combiner une somme : si tu veux ajouter 2 champs de temps :
SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(champ1) + TIME_TO_SEC(champ2))) FROM table
Cela te renverra un HH:MM:SS de la somme de tes deux champs
Ensuite si tu ne veux que l'heure et les minutes, tu peux utiliser HOUR(tonchamp) et MINUTE(tonchamp)
Donc si tu l'appliques à la requete ci dessus, ça devrai donner un truc dans le genre :
SELECT HOUR(SEC_TO_TIME(SUM(TIME_TO_SEC(champ1) + TIME_TO_SEC(champ2)))),
MINUTE(SEC_TO_TIME(SUM(TIME_TO_SEC(champ1) + TIME_TO_SEC(champ2))))
FROM table
Pour info, il existe aussi des fonctions MySQL pour calculer la différence entre deux date : DATEDIFF et entre deux time : TIMEDIFF (cherchez sur le net).
Voilà,
bon courage à tous,
Simon.
J'ai eu le même genre de soucis, en fait tu passer par des fonction MySQL :
TIME_TO_SEC(tonchamptime) -> renvoie la valeur de ton champ HH:MM:SS en seconde
et l'inverse
SEC_TO_TIME(valeurenseconde) -> renvoie HH:MM:SS d'une valeur en seconde
Avec ça tu peux combiner une somme : si tu veux ajouter 2 champs de temps :
SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(champ1) + TIME_TO_SEC(champ2))) FROM table
Cela te renverra un HH:MM:SS de la somme de tes deux champs
Ensuite si tu ne veux que l'heure et les minutes, tu peux utiliser HOUR(tonchamp) et MINUTE(tonchamp)
Donc si tu l'appliques à la requete ci dessus, ça devrai donner un truc dans le genre :
SELECT HOUR(SEC_TO_TIME(SUM(TIME_TO_SEC(champ1) + TIME_TO_SEC(champ2)))),
MINUTE(SEC_TO_TIME(SUM(TIME_TO_SEC(champ1) + TIME_TO_SEC(champ2))))
FROM table
Pour info, il existe aussi des fonctions MySQL pour calculer la différence entre deux date : DATEDIFF et entre deux time : TIMEDIFF (cherchez sur le net).
Voilà,
bon courage à tous,
Simon.
mm... a priori un champ de type TIME ne contient pas une durée mais une date. C'est pas la même chose.
durée = différence entre 2 dates.
Si tu as une colonne qui contient une durée, ça donnerais:
ça te donnera la durée totale diplomate par diplomate.
durée = différence entre 2 dates.
Si tu as une colonne qui contient une durée, ça donnerais:
SELECT identifiant_diplomate, sum(duree) FROM appels WHERE nom_diplomat LIKE '$nom_diplomat' AND dates BETWEEN '$date1' AND '$date2' GROUP BY identifiant_diplomat
ça te donnera la durée totale diplomate par diplomate.
j ai regardé et en fait TIME c'est au format HH:MM:SS
pour la difference entre 2 date c es le type DATE qui est en AAAAMMJJ
le probleme risque d'etre que time c'est l'heure, et nom une durée
donc en fait, si quelqu'un a une meilleur idée, je sus preneur
en fait dans un champs on rentre la durée d'un appels sous cette forme:
1h20, mai j ai remplacé le "h" par":"
et donc j aimerais faire la somme des temps
es-ce possible??
l'informatique ca rend fou!!!!!
pour la difference entre 2 date c es le type DATE qui est en AAAAMMJJ
le probleme risque d'etre que time c'est l'heure, et nom une durée
donc en fait, si quelqu'un a une meilleur idée, je sus preneur
en fait dans un champs on rentre la durée d'un appels sous cette forme:
1h20, mai j ai remplacé le "h" par":"
et donc j aimerais faire la somme des temps
es-ce possible??
l'informatique ca rend fou!!!!!
tu veut donc faire la somme totale des appel d' un diplomate ( vive l' espionnage !! ;-p ) ?
moi je te conseille de faire sa dans une page php ( sa sera plus facile a prog ) mais je pence que tu peux arriver a faire sa directement en requete sql ( mais perso je sais juste que sql sait faire les addition ) !
rucht ( qui aure ete bien espion si y faler pas faire de sport ;p )
moi je te conseille de faire sa dans une page php ( sa sera plus facile a prog ) mais je pence que tu peux arriver a faire sa directement en requete sql ( mais perso je sais juste que sql sait faire les addition ) !
rucht ( qui aure ete bien espion si y faler pas faire de sport ;p )
Salut,
tout d abord j aimperais preciser que la BSD n est pas mon fort ;
mais j aurias une suggestion qu elle me paraît intersssante:
Tu pourrais essayer un Groupe By pour ta dernière requète: le and final.
Voilà , c est tout j esoere que ca te sera qd meme util.
aurevoir et @+
tout d abord j aimperais preciser que la BSD n est pas mon fort ;
mais j aurias une suggestion qu elle me paraît intersssante:
Tu pourrais essayer un Groupe By pour ta dernière requète: le and final.
Voilà , c est tout j esoere que ca te sera qd meme util.
aurevoir et @+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
tout d'abord, un diplomat, dans mon cas, n'est pas un homme politique, mais un serveur :p
je suis pas espion;)(dommage..)
et en fait c es un site pour support technique ou on entre tous les appels, et apres on peut faire des recherche des appels recu, par client, par date....
et en fait, apres j affiche le resultat de la recherche
et je voudrais que lors de cette affichage, il calcul la durée, en sachant que pour la durée, j ai creer un champs TIME
apres, e sais pas si c es possible d'aditionner des TIME, et si oui, je sais as comment faire
sinon, je suis preneur pour d'autres solution
pour l'histoire de faire une autre page, ca ne me convient pas, v qe je veut afficher le temps sur la meme page ou j'affiche le resultat de la recherche...dommage:(
l'informatique ca rend fou!!!!!
je suis pas espion;)(dommage..)
et en fait c es un site pour support technique ou on entre tous les appels, et apres on peut faire des recherche des appels recu, par client, par date....
et en fait, apres j affiche le resultat de la recherche
et je voudrais que lors de cette affichage, il calcul la durée, en sachant que pour la durée, j ai creer un champs TIME
apres, e sais pas si c es possible d'aditionner des TIME, et si oui, je sais as comment faire
sinon, je suis preneur pour d'autres solution
pour l'histoire de faire une autre page, ca ne me convient pas, v qe je veut afficher le temps sur la meme page ou j'affiche le resultat de la recherche...dommage:(
l'informatique ca rend fou!!!!!
peut etre faut il que je transforme mon champs TIME en VARCHAR
et que ensuite, je fasse un traitement hp pour calculer
mais ca s annonce tres tres tres rude!!!
vu que le temps est rentré sous cette forme HH:MM
rien que d'y pencer ca me fatigue!!
l'informatique ca rend fou!!!!!
et que ensuite, je fasse un traitement hp pour calculer
mais ca s annonce tres tres tres rude!!!
vu que le temps est rentré sous cette forme HH:MM
rien que d'y pencer ca me fatigue!!
l'informatique ca rend fou!!!!!
moi je pourrait te dire comment faire en php mais en sql ...
desoler !
rucht ( qui est a sa 1 ere anner de prog ...)
desoler !
rucht ( qui est a sa 1 ere anner de prog ...)