Besoin d'aide pour création d'une requête complexe (MySQL)

Besoin d'aide pour création d'une requête complexe (MySQL) - SQL/NoSQL - Programmation

Marsh Posté le 22-01-2012 à 10:30:30    

Salut,
 
Je dois faire un truc en MySQL et j'y perds mes cheveux :pt1cable:  
 
J'ai plusieurs colonnes (entre parenthèse un exemple de valeur) :
- Id (2)
- Marque (Apple)
- Nom (iPod)
- Modele (8Go)
- Prix (199)
 
Je peux avoir plusieurs Apple iPod 8 Go mais a des prix différents. Je peux aussi l'avoir en 16 Go ou avoir des iPhones.
 
Moi je voudrais sortir la liste des produits Apple classés par prix mini de chaque Modele.
Exemple :
Apple iPod 8 Go, prix mini 59 euros
Apple iPod 16 Go, prix mini 89 euros
 
En gros, lister sans doublon tous les modeles + nom + marque avec pour chaque le prix le plus bas.
 
Pourriez vous m'aider à construire la requête svp ? Faut il faire une sous requête ?
 
Merci !


---------------
Bha ouais mais bon, m'enfin quoi...
Reply

Marsh Posté le 22-01-2012 à 10:30:30   

Reply

Marsh Posté le 22-01-2012 à 20:00:30    

vanquishV12 a écrit :

Salut,
 
Je dois faire un truc en MySQL et j'y perds mes cheveux :pt1cable:  
 
J'ai plusieurs colonnes (entre parenthèse un exemple de valeur) :
- Id (2)
- Marque (Apple)
- Nom (iPod)
- Modele (8Go)
- Prix (199)
 
Je peux avoir plusieurs Apple iPod 8 Go mais a des prix différents. Je peux aussi l'avoir en 16 Go ou avoir des iPhones.
 
Moi je voudrais sortir la liste des produits Apple classés par prix mini de chaque Modele.
Exemple :
Apple iPod 8 Go, prix mini 59 euros
Apple iPod 16 Go, prix mini 89 euros
 
En gros, lister sans doublon tous les modeles + nom + marque avec pour chaque le prix le plus bas.
 
Pourriez vous m'aider à construire la requête svp ? Faut il faire une sous requête ?
 
Merci !

Exemple trivial d'utilisation du GROUP BY :o  
SELECT Marque, Nom, Modele, MIN(prix)
FROM la_table
ORDER BY Marque, Nom, Modele


---------------
Doucement le matin, pas trop vite le soir.
Reply

Marsh Posté le 23-01-2012 à 08:09:22    

Le prix n'a rien a faire dans la table soit dit en passant, ca doit etre mis dans une autre table (en theorie il faudrai aussi sortir modele et nom).
 
Ca évite tout les problemes commun de redondance (faute de frappe, problem de synchro, etc ...).

Reply

Marsh Posté le 23-01-2012 à 10:03:36    

Logiquement, il devrait y avoir les tables suivantes :
- Marques
- Modèles (avec comme clé étrangère IDMarque)
- Produits (avec comme clé étrangère, IDModele)
- HistoPrix (avec comme clé étrangère IDProduit)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed