clause GROUP BY
6 messages
• Page 1 sur 1
-

xdeslandes - WRInaute occasionnel

- Messages: 391
- Inscription: 29 Déc 2004
clause GROUP BY
Bonjour,
Dans une boutique en ligne, beaucoup d'articles ont des déclinaisons (par ex., un même vêtement existe en plusieurs tailles et plusieurs coloris, etc). Dans mon cas, cela concerne du thé: un article (un thé quoi) peut se vendre en 4 conditionnements différents (100g, 200g, 500g, et 1kg).
Pour afficher les articles dans les rayons, j'ai donc une requête qui ressemble à
Tout est cool: chaque article est listé une seule fois, et en conditionnement 100g, comme voulu (il faut savoir que dans la bdd, les articles sont bien saisis dans le bon ordre) SAUF POUR UN ARTICLE (sur 450) !! Cet article apparaît en 200g par défaut !!
Question: lorsqu'on utilise la clause GROUP BY, comment sont ordonnés les items à l'intérieur ? Dans mon exemple, comment sont classés les 4 thés ayant le même nom ?
Merci de votre aide.
Dans une boutique en ligne, beaucoup d'articles ont des déclinaisons (par ex., un même vêtement existe en plusieurs tailles et plusieurs coloris, etc). Dans mon cas, cela concerne du thé: un article (un thé quoi) peut se vendre en 4 conditionnements différents (100g, 200g, 500g, et 1kg).
Pour afficher les articles dans les rayons, j'ai donc une requête qui ressemble à
- Code: Tout sélectionner
"SELECT * FROM articles, categories WHERE ... GROUP BY nom_article ORDER BY id_article..."
Tout est cool: chaque article est listé une seule fois, et en conditionnement 100g, comme voulu (il faut savoir que dans la bdd, les articles sont bien saisis dans le bon ordre) SAUF POUR UN ARTICLE (sur 450) !! Cet article apparaît en 200g par défaut !!
Question: lorsqu'on utilise la clause GROUP BY, comment sont ordonnés les items à l'intérieur ? Dans mon exemple, comment sont classés les 4 thés ayant le même nom ?
Merci de votre aide.
- skippyzrnr
- WRInaute impliqué

- Messages: 664
- Inscription: 11 Jan 2005
Il me semble que l'enregistrement representatif du GROUP BY est le premier trouvé dans la table.
Au cas où recrée ta table correctement ordonnée.
Au cas où recrée ta table correctement ordonnée.
-

xdeslandes - WRInaute occasionnel

- Messages: 391
- Inscription: 29 Déc 2004
Merci les amis ! J'essaie de suite.
-

xdeslandes - WRInaute occasionnel

- Messages: 391
- Inscription: 29 Déc 2004
SELECT DISTINCT n'a pas fonctionné. Je me demande pourquoi. Il est vrai que ma requête est en réalité bien plus complexe que ce que j'avais écrit.
Par contre, j'ai réordonné ma table suivant les id_articles croissants (via PhpMyAdmin), et c'est devenu OK !!
Merci à vous. Prob résolu.
Par contre, j'ai réordonné ma table suivant les id_articles croissants (via PhpMyAdmin), et c'est devenu OK !!
Merci à vous. Prob résolu.
- jeroen
- WRInaute passionné

- Messages: 2455
- Inscription: 30 Aoû 2002
Pour aller plus loin :
- Distinct serait plus approprié car moins consommateur de ressources
- Pour ce qui est de l'ordonnancement des items interne ce n'est pas automatiquement le premier rencontré, mais je ne sais pas comment ça marche exactement. J'ai résolu le problème en faitans une jointure sur la même table
Si ça peut servir
- Distinct serait plus approprié car moins consommateur de ressources
- Pour ce qui est de l'ordonnancement des items interne ce n'est pas automatiquement le premier rencontré, mais je ne sais pas comment ça marche exactement. J'ai résolu le problème en faitans une jointure sur la même table
- Code: Tout sélectionner
SELECT t1.id, min(t2.cond) as cond
FROM table t1, table t2
WHERE t1.id=t2.id AND ....
GROUP BY t1.id
Si ça peut servir
6 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Clause contrat de référencement
- select max(id) et clause where
- copyright - clause abusive ?
- PHP/MySql > Clause LIKE ...
- Clause de non concurrence et Auto Entrepreneur
- Clause de publicité sous Dmoz
- [Résolu] [MySQL] : count dans clause WHERE
- Design de la clause d'attribution pour Dmoz et cie
- Problème avec clause DISTINCT dans requête SQL
- group-manager.com
- Du nouveau du côté des laboratoires de Google : Google Labs - 20-05-2002
- Accord entre Ask Jeeves et Google - 18-07-2002
- Google Calendar API - 20-04-2006
- OpenSocial : le projet de Google pour contrôler les réseaux sociaux - 31-10-2007
- MSN Search : Microsoft dans la course - 28-07-2003
- Google teste la recherche locale (Google Search by Location) - 23-09-2003
- La détection des blog rolls dans Google Blog Search - 31-03-2009
- Les API de Google : l'arme ultime contre les réseaux sociaux - 24-09-2007
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


