Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1134 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [mySQL] petits calculs

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[mySQL] petits calculs

n°501618
farib
Posté le 29-08-2003 à 13:49:18  profilanswer
 

voila, j'ai une table qui contient des horaires d'emploi du temps, et je voudrais profiter de mysql pour faire les calculs propement avec les requetes plutot que par php, même si je sais faire en php
 
 
j'ai donc
 

mysql> select nom,arrivee,depart from planning_vendeur where nom!='--';
+--------+----------+----------+
| nom    | arrivee  | depart   |
+--------+----------+----------+
| jeremy | 11:00:00 | 20:30:00 |
| jeremy | 11:00:00 | 20:30:00 |
| loic   | 11:00:00 | 20:30:00 |
+--------+----------+----------+
3 rows in set (0.00 sec)


 
je souhaite donc calculer la durée de travail pour chaque vendeur en fesant somme des heures travaillées chaque jour (evidemment la y'a pas tout)
 
 
j'arrive a le faire pour un vendeur, mais est-ce possible de le faire pour tous, en une requete sans faire 1 requete séparée pour  chaqu evendeur  ?
 
fo utiliser la clause group je pense, mais j'ai pas encore tout compris de son fonctionnement
 

mysql> select sec_to_time(sum(time_to_sec(depart)-time_to_sec(arrivee))) as duree from planning_vendeur where nom='jeremy';
+----------+
| duree    |
+----------+
| 19:00:00 |
+----------+
1 row in set (0.00 sec)


Message édité par farib le 29-08-2003 à 13:49:35
mood
Publicité
Posté le 29-08-2003 à 13:49:18  profilanswer
 

n°502292
Je@nb
Kindly give dime
Posté le 30-08-2003 à 01:08:28  profilanswer
 


mysql> select sec_to_time(sum(time_to_sec(depart)-time_to_sec(arrivee))) as duree from planning_vendeur group by nom;
+----------+
| duree    |
+----------+
| 19:00:00 |
| 09:30:00 |
+----------+
2 rows in set (0.01 sec)


 
Et pour avoir le nom :

mysql> select nom,sec_to_time(sum(time_to_sec(depart)-time_to_sec(arrivee))) as duree from planning_vendeur group by nom;
+--------+----------+
| nom    | duree    |
+--------+----------+
| jeremy | 19:00:00 |
| loic   | 09:30:00 |
+--------+----------+
2 rows in set (0.00 sec)

n°502354
mrbebert
Posté le 30-08-2003 à 11:08:46  profilanswer
 

c'est indispensable de convertir en secondes :??:  
 
SELECT nom, sum(depart-arrivee) as duree
from planning_vendeur
GROUP BY nom;

n°502970
Sebastien
Posté le 30-08-2003 à 23:06:56  profilanswer
 

Rien de mieux que la reponse par l'exemple
 
 nom      debut      fin
  j  08:23:00  15:11:00
  j  07:59:00  17:47:00
 r  08:47:00  15:45:00
 
 

Code :
  1. Select nom,sec_to_time(sum(fin-debut)) as duree from time group by nom
  2. nom      duree
  3. j  46:33:20
  4. r  19:23:20


 

Code :
  1. Select nom,sum(fin-debut) as duree from time group by nom
  2. j   167600
  3. r  69800


 

Code :
  1. Select nom,sec_to_time(sum(time_to_sec(fin)-time_to_sec(debut))) as duree from time group by nom
  2. j   16:36:00
  3. r  06:58:00


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [mySQL] petits calculs

 

Sujets relatifs
[PHP5] Pas de MySQL dans Php5 beta?Php/Mysql sur CD-Rom, c'est possible?
recherche un agenda en php utilisant le mysql ??API C de MySQL: fuite de mémoire
DB2 : équivalent au rowcount d'Oracle ou Limit de MySQL ?Les champs "automatiques" dans une table MySQL
[SGBD/Mysql] Choix multiples et stockage en BDD[PHP/MySQL] Probleme de guillemets : A L'AIDE !!
[MySQL] Comment incrémenter une valeur contenue dans un tableau ??Topic sur les livres PHP / MYSQL + opinions
Plus de sujets relatifs à : [mySQL] petits calculs


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR