par
dunbar » 06 déc. 2012, 17:24
Salut,
Ce que je souhaite faire est la chose suivante.
J'ai une table avec qui reprend différents champs donc un champ durée elle vont de 01:00:00 à 08:00:00 et un champ job (il y a plusieurs centaines d'utilisateurs) et un champ date_job 2012-11-01 (champ date) le but est de créer des statistiques par job et et mois donc je me retrouve très avec plus de 840 heures par mois et par jobs, et avec cette limite il stop le calcul a 839:59:59 et ne prend pas le reste en compte.
Et bien sûr mes stats ne sont pas juste.
NB: pour info voici ma requête :
'SELECT
YEAR(date_debut) AS annee,
MONTHNAME(date_debut) AS mois,
SEC_TO_TIME(SUM(TIME_TO_SEC(ft.job_delai))) AS total,
ROUND(SEC_TO_TIME(SUM(TIME_TO_SEC(ft.job_delai))) /
(SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(job_delai))) FROM '.self::DEFAULT_SQL_TB.', zone AS zn WHERE zn.nom IN ('.$this->pdo_zone.') AND zn.id = id_zone AND MONTH(date_debut) = MONTH(ft.date_debut) AND YEAR(date_debut) = :yr AND jo.id = ft.id_job )* 100, 2) AS pourcentage
FROM '.self::DEFAULT_SQL_TB.' AS ft, jobs AS jo, zone AS zn
WHERE zn.nom IN ('.$this->pdo_zone.')
AND zn.id = ft.id_zone
AND MONTH(ft.date_debut) = :mt
AND YEAR(ft.date_debut) = :yr
AND jo.id = ft.id_job
GROUP BY id_job
Mais j'ai peut-être louper un truc
Salut,
Ce que je souhaite faire est la chose suivante.
J'ai une table avec qui reprend différents champs donc un champ durée elle vont de 01:00:00 à 08:00:00 et un champ job (il y a plusieurs centaines d'utilisateurs) et un champ date_job 2012-11-01 (champ date) le but est de créer des statistiques par job et et mois donc je me retrouve très avec plus de 840 heures par mois et par jobs, et avec cette limite il stop le calcul a 839:59:59 et ne prend pas le reste en compte.
Et bien sûr mes stats ne sont pas juste.
NB: pour info voici ma requête :
[SQL]
'SELECT
YEAR(date_debut) AS annee,
MONTHNAME(date_debut) AS mois,
SEC_TO_TIME(SUM(TIME_TO_SEC(ft.job_delai))) AS total,
ROUND(SEC_TO_TIME(SUM(TIME_TO_SEC(ft.job_delai))) /
(SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(job_delai))) FROM '.self::DEFAULT_SQL_TB.', zone AS zn WHERE zn.nom IN ('.$this->pdo_zone.') AND zn.id = id_zone AND MONTH(date_debut) = MONTH(ft.date_debut) AND YEAR(date_debut) = :yr AND jo.id = ft.id_job )* 100, 2) AS pourcentage
FROM '.self::DEFAULT_SQL_TB.' AS ft, jobs AS jo, zone AS zn
WHERE zn.nom IN ('.$this->pdo_zone.')
AND zn.id = ft.id_zone
AND MONTH(ft.date_debut) = :mt
AND YEAR(ft.date_debut) = :yr
AND jo.id = ft.id_job
GROUP BY id_job
[/SQL]
Mais j'ai peut-être louper un truc