MySQL : comment grouper les entrées puis les trier ?
10 messages
• Page 1 sur 1
-

milkiway - WRInaute accro

- Messages: 4910
- Inscription: 3 Fév 2004
MySQL : comment grouper les entrées puis les trier ?
Bonjour,
J'ai une table de ce type

Et je voudrais obtenir une liste des meilleurs prix pour chaque modèle et classés par modèle, soit avoir le résultat suivant :
Audi A3 5600
Peugeot 308 2265
Renault Clio 1346
Renault Fluence 4635
Renault Kangoo 2569
Renault Twingo 1280
Je n'y arrive pas...
J'ai fait un SELECT DISTINCT avec un GROUP BY mais le GROUP BY me renvoie les valeurs qu'il veut.
J'ai fait avec une table temporaire mais ça marche pas.
Que faut il faire ? Une sous requête ?
Faut savoir aussi que la table contient 15 000 entrées (et que le résultat est mis en cache).
Merci à vous !
J'ai une table de ce type

Et je voudrais obtenir une liste des meilleurs prix pour chaque modèle et classés par modèle, soit avoir le résultat suivant :
Audi A3 5600
Peugeot 308 2265
Renault Clio 1346
Renault Fluence 4635
Renault Kangoo 2569
Renault Twingo 1280
Je n'y arrive pas...
J'ai fait un SELECT DISTINCT avec un GROUP BY mais le GROUP BY me renvoie les valeurs qu'il veut.
J'ai fait avec une table temporaire mais ça marche pas.
Que faut il faire ? Une sous requête ?
Faut savoir aussi que la table contient 15 000 entrées (et que le résultat est mis en cache).
Merci à vous !
-

Marie-Aude - Modérateur

- Messages: 11889
- Inscription: 5 Juin 2006
Re: MySQL : comment grouper les entrées puis les trier ?
De mémoire, il faut que tu définisses un champs supplémentaire, genre sum (mais vraiment de mémoire...
)
-

Blount - WRInaute occasionnel

- Messages: 430
- Inscription: 18 Nov 2010
Re: MySQL : comment grouper les entrées puis les trier ?
Marie-Aude a une partie raison, sauf que ce n'est pas SUM mais MIN.
Ceci devrait fonctionner.
- Code: Tout sélectionner
SELECT marque, modele, MIN(prix)
FROM TaTable
GROUP By modele
ORDER By marque ASC, modele ASC
Ceci devrait fonctionner.
Dernière édition par Blount le Lun Mar 21, 2011 18:32, édité 1 fois.
-

Blount - WRInaute occasionnel

- Messages: 430
- Inscription: 18 Nov 2010
Re: MySQL : comment grouper les entrées puis les trier ?
De rien.
D'ailleurs, pour récupérer le prix plus facilement, il vaut mieux utiliser un alias :
D'ailleurs, pour récupérer le prix plus facilement, il vaut mieux utiliser un alias :
- Code: Tout sélectionner
SELECT marque, modele, MIN(prix) prix
FROM TaTable
GROUP By modele
ORDER By marque ASC, modele ASC
-

IllusionPerdu - WRInaute discret

- Messages: 141
- Inscription: 11 Mar 2006
Re: MySQL : comment grouper les entrées puis les trier ?
Une petite correction pour la requete avec l'alias :
Le AS avais été oublier et il vaux mieux donner un autre nom au champ
- Code: Tout sélectionner
SELECT marque, modele, MIN(prix) AS minprix
FROM TaTable
GROUP By modele
ORDER By marque ASC, modele ASC
Le AS avais été oublier et il vaux mieux donner un autre nom au champ
-

Blount - WRInaute occasionnel

- Messages: 430
- Inscription: 18 Nov 2010
Re: MySQL : comment grouper les entrées puis les trier ?
IllusionPerdu a écrit:Une petite correction pour la requete avec l'alias :
- Code: Tout sélectionner
SELECT marque, modele, MIN(prix) AS minprix
FROM TaTable
GROUP By modele
ORDER By marque ASC, modele ASC
Le AS avais été oublier et il vaux mieux donner un autre nom au champ
Je ne vois pas de correction nécessaire.
- le mot clé AS est optionnel
- on peut tout à fait utiliser le même nom de champ. C'est un procéder que j'utilise régulièrement.
10 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Trier les résultats - mysql
- [mysql] trier les résultats d'une requête selon une table non liée à la requête
- Grouper les tables SQL comme Freeglobes
- Wordpress grouper les articles de catégories dans la sidebar ?
- Filtre Google Analytics pour grouper selon les pages de destination
- suppression d entrées via checkbox
- 2 entrees dans DMOZ
- Vente de billets / entrées etc. en affiliation
- Fusionner 3 entrées dans Google
- Script de sondage à plusieurs entrées.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

