J'ai un soucis avec le classement de datas issues d'une base mysql.
J'ai dans ma base des champs du type :
2001-04-03 | 1
2001-04-05 | 4
2001-06-05 | 2
2002-03-03 | 3
2002-03-15 | 8
2003-04-08 | 12
2004-05-06 | 5
etc ...
J'aimerais pouvoir extraire les champs de la base et les afficher en php sous la forme :
Avril 2001 : 5 (qui correspond a la somme des 1 + 5 du mois d'avril 2001)
Juin 2001 : 4
Mars 2002 : 11
etc ...
Je ne sais absolument pas comment faire pour l'instant à part faire le bourrin et faire des requetes pour chaque mois (sachant que les dates de ma base vont de janvier 1985 et iront ensuite jusqu'à une date indeterminé ...
Si qq'un à une idée sous la main ou un ptit conseil je suis preneur parce que là ça fait 6 heures que je parcours google et les sites php en vain.
D'avance Merci
Publicité
Posté le 16-07-2004 à 01:22:05
Mr Mala
Posté le 16-07-2004 à 01:39:45
En considérant que ton champ date sera toujours un texte de ce format, en gros, la requête serait :
SELECT substring( [ton champ date], 1, 7 ) , sum( [ton champ numérique] ) FROM `[table]` GROUP BY substring( [ton champ date], 1, 7 );
Mr Mala
Posté le 16-07-2004 à 01:40:32
heuuu ouais en rajoutant un "order by" et un minimum de traitement en PHP évidemment .....
En considérant que ton champ date sera toujours un texte de ce format, en gros, la requête serait :
SELECT substring( [ton champ date], 1, 7 ) , sum( [ton champ numérique] ) FROM `[table]` GROUP BY substring( [ton champ date], 1, 7 );
wouaou ! tu m'as l'air sacrément expert du MYSQL toi
Dis-moi voir... serais-tu capable en SQL de créer un mode de sélection qui soit selon un hasard "pondéré" ? J'entend par là... tu as A=20 B=30 et C=40
et bien, les chances que A soit sélectionnées sont de p(A) = A/(A+B+C)
il existe bien évidemment des solutions dichotomiques php que j'ai personnellement crées... mais qui forcément sont "bourrins" par rapport à une requête SQL !!!