Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : SQL problème avec GROUP BY [ SQL Server, MSDE, SQL Express / Requêtes ] (nathapla)

jeudi 26 octobre 2006 à 11:47:27 | SQL problème avec GROUP BY

nathapla

Bonjour à tous,

J'ai un petit problème avec GROUP BY.
Je vous explique, j'ai une table 'depense' où il y a comme champs : id_uti, date, titre, prix.
Je voudrais faire une fiche par personne. Si il y a la même date et le même titre, les regrouper.
ma requête :
SELECT * FROM depense 
    WHERE id_uti=$uti
    GROUP BY titre,date
    ORDER BY date

Le problème c'est que si il y a le même titre et une date différente (et vis et versa), ça me le regroupe quand même.
J'espère que j'ai été assez claire.
Merci d'avance. 

jeudi 26 octobre 2006 à 17:30:56 | Re : SQL problème avec GROUP BY

Malkuth

Membre Club

Je pense que le * du select n'est pas terrible,
Essai d'abort ceci :
   SELECT titre,date
   FROM depense 
   WHERE id_uti=$uti
   GROUP BY titre,date 
   ORDER BY date

Ensuite si tu as besion des autres champs, il faut les agréger avec une fonction comme SUM(Somme), AVG(Moyenne) ou les ajouter aussi au group by :
Sinon SQL ne sait pas quoi en faire :
imagine ces donnée :
1   01/02/03   'Titre1' 0,50€
2   01/02/03   'Titre1 0,70€

SQL doit t'il renvoyer
1   01/02/03   'Titre1' 0,50€
OU
2   01/02/03   'Titre1' 0,70€
OU
3   01/02/03   'Titre1' 1,20€
OU
1   01/02/03   'Titre1' 0,60€
OU .....
????

Donc voilà quelque chose de plus intéréssant :
   SELECT
      id_util
      titre,
      date,
      SUM(prix),
   FROM depense 
   WHERE id_uti=@uti
   GROUP BY id_util,titre,date 
   ORDER BY date

Remarque que j'ai rajouter id_util dans le group by, étant donnée que id_util est forcé par le where, tu as le choix de l'enlevé du select et du group by, ou de le mêtre dans les deux mais tu ne peux pas le mettre seulement dans le select , vu que la valeur est toujours la même le fais de le rajouter dans le group by n'as pas d'incidence sur le résultat.

J'espère que j'ai été clair si ca ne marche pas donne nous un détail des donnée de départ, des donnée sortie par la requette et de la sortie que tu attends.


vendredi 27 octobre 2006 à 14:42:07 | Re : SQL problème avec GROUP BY

nathapla

Merci bcp Malkuth, je vais tester ^^



Cette discussion est classé dans : problème, date, titre, group, by


Répondre à ce message

Sujets en rapport avec ce message

Pb avg / group by [ par DMK04 ] Bonjour à tous,J'ai cette requête qui marche très bien (elle me retourne des entiers) :SELECT DATEDIFF( MAX( date_livraison ) , date_creation ) AS del Trouver la moyenne minimum dans un Group By [ par petitemainate ] Bonjour à tous,Voici l'intitulé de la question ^_^ "Afficher le job ayant le salaire le plus bas"J'ai donc une requête de ce genreSELECT Job, avg(Sala Gestion doublons group by & order by [ par yazer ] voila, je souhaite sélectionner le company_id correspondant au company_id de ayant le date_embauche le plus élevé chaque user_idpar exemple :company_i Problème de copnversion Access -> SQL Server 2000 champs Date [ par NHenry ] BonjourJ'ai un problème : Lorsque j'utilise l'assistant d'importation/exportation de données entre Access et SQL Server 2000, il me convertit les cha Group By ? [ par mondrone ] Bonjour, comme précisé par la rubrique choisie, ma question est à propos du fonctionnement de MySQL disons.Voila :en gros et pour faire simple, j'ai d Problème group by sur un champs de type 'text' [ par MobyWan ] Bonjour,J'ai une procédure stockée qui me permet de faire une view d'une table suite a une recherche FullText.Le problème est que j'ai besoin d'utilis group by problem [ par olibara ] Bonjour,J'ai un probleme de compréhesion avec la syntaxe Count , group byDans la commande suivantes :Si j'enleve du group by tour.day, j'ai un resulta Problème de date [ par kidpigeyre ] Voila mon problème : Je dois afficher les emplacements libres d'un certain type entre deux dates (date_debut et date_fin) en sql access.Voici mes deux GROUP BY ET tri [ par fcdconnect ] Bonjour,j'aimerai savoir comment trier les resultat groupé dans une requete mysql de ce type : champ de la table :id | num | datetime |etc1 | 0552| 2 problème de Date lorsque l'intervalle est à cheval sur 2 mois... [ par nico_ayci ] salut à tous ! j'ai une fonctionnalité de recherche qui donne la possibilité de trouver des enregistrements selon leur date, à plus ou moins X jours.


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 4,462 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.