Forum Clubic

[ MySQL ] Problème avec une requête un et GROUP BY

Hello

alors voilà je voudrai avec MySQL utiliser GROUP BY

j’ai ca dans ma base de données :

id id_photo id_auteur client info prix jour mois annee
3 39 11 galliot.com test 34.00 14 1 2005
2 39 11 galliot.com2 test2 134.00 24 1 2005

Ce qui correspond à 2 enregistrements.

je voudrais en faite obtenir une liste d’apres le mois et regrouper d’apres l’id_auteur et l’id_photo pour obtenir un truc du genre :

Mois Auteur
Id photo Info Vente Prix vente
Info Vente Prix vente

Prix total photo

Id photo …

                                  Prix total

je suppose que c’est fesable en plusieurs requêtes et du PHP mais je voudrais limiter les requête SQL.

Merci d’avance.

Hum, je suis sceptique pour une partie de ce que tu veux faire. Avec le GROUP BY, tu pourra bien grouper par Mois (c’est ce que tu veux, donc) mais il te sera impossible de faire un listing tel que tu l’écrit là.

Calcul de la somme :

[cpp]SELECT SUM(prix)
FROM table
WHERE id_photo = 39

si tu vire le GROUP BY, tu auras le prix total

GROUP BY CONCAT( annee, ‘-’, mois )[/cpp]

(le CONCAT dans le group by, c’est parce que tu as trois champs pour la date. Songe à un champ DATETIME)

Mais le problème vois tu, c’est que tu veux afficher les données. Le mieux pour toi, c’est ce genre de requête :

[cpp]SELECT id, info, prix, jour, mois, annee
FROM table
ORDER BY annee ASC, mois ASC[/cpp]

Et ensuite dans PHP faire tes calculs de prix à la main (ce qui ne sera pas compliqué, suffit de les afficher dés que tu détectes un changement de mois)

Ok pour les calcul je pensais bien les faire avec php

En faite le group by je l’aurais plus mis sur l’auteur parce que je cherche à obtenir des infos par auteur en listant les auteurs … je doute que ce soit très clair …

Au pire je ferais une multitude de requête SQL !