Requete Group By en prenant les infos du plus petit [SQL] - SQL/NoSQL - Programmation
Marsh Posté le 29-12-2008 à 17:20:11
Select Produit, min(prix), Date from Matable group by produit, date
Marsh Posté le 29-12-2008 à 17:33:22
Harkonnen a écrit : Select Produit, min(prix), Date from Matable group by produit, date |
ta requete va me retourne le prix le plus bas pour chaque produit pour CHAQUE DATE
Si j'execute ta requete, elle me retournera dans mon exemple, tout le contenu de la table
hors j aimerais juste récupérer
Code :
|
Marsh Posté le 29-12-2008 à 17:52:56
Salut,
Sur SQL Server, j'aurai tenté un truc dans ce genre :
SELECT M1.Produit, M1.Prix, MIN(M1.Date)
FROM MATABLE M1
INNER JOIN
(
SELECT M2.Produit Pro2, MIN(M2.Prix) Pri2
FROM MATABLE M2
GROUP BY M2.Produit
)
DRV ON DRV.Pro2 = M1.Produit AND DRV.Pri2 = M1.Prix
GROUP BY M1.Produit, M1.Prix
Je n'ai pas d'environnement de test, mais à mon avis tu seras obligé de passer par une sous requete...
Ici, on sort donc dans la requête principale le produit, le prix minimum et la date minimum du produit à ce prix, puisque la jointure est faire sur le produit et le prix minimum. Le MIN(Date) permet d'éliminer la possibilité que tu aies plusieurs fois le produit au même prix et que ça retourne n'importe lequel...
Je sais que cette syntaxe est à priori valide sous SQL Server,
Bon courage,
Marsh Posté le 29-12-2008 à 19:57:09
Lenoiche a écrit : ta requete va me retourne le prix le plus bas pour chaque produit pour CHAQUE DATE hors j aimerais juste récupérer
|
ah oui très juste
bon alors si la requête de Tibar ne donne rien, essaie ça :
SELECT Produit, Date, (SELECT Min(Prix) FROM MaTable M1 WHERE M1.Produit = M2.Produit AND M1.Prix = M2.Prix GROUP BY M1.Produit, M1.Prix) AS Miniprix
FROM MaTable M2
pas testé par contre
Marsh Posté le 30-12-2008 à 15:13:22
okay merci les guys
teste la methode de tibar, elle fonctionne nickel
Marsh Posté le 29-12-2008 à 17:14:34
Bonjour
J'ai une table
J'aimerais récupérer le prix le plus bas pour chaque produit et la date du prix correspondant
J'arrive a récupérer le prix minimum pour chaque produit mais sans la date
Est ce que c'est possible, parce que je ne vois pas trop ...
Merci
Message édité par Lenoiche le 29-12-2008 à 17:37:57