Requete SQL OrderBy; Group By

Résolu/Fermé
JBiN-1 Messages postés 57 Date d'inscription vendredi 26 octobre 2007 Statut Membre Dernière intervention 11 mai 2009 - 12 août 2008 à 10:35
 fred - 22 oct. 2009 à 12:25
Bonjour,

Voici mon problème .

J'ai une table Commande :

commande_id,
commande_produit_id,
commande_date

J'aimerai sortir les dernieres commande et donc lister les commande en ordre décroissant (de la plus récente à la moins récente) donc utilisation de ORDER BY

Mon problème est que je veux sortir les identifiant des produits du plus récent au moins récent commander mais je ne veux pas voir apparaitre deux fois le même identifiant de produit

Comment faire ?

Merci d'avance

JB

4 réponses

JBiN-1 Messages postés 57 Date d'inscription vendredi 26 octobre 2007 Statut Membre Dernière intervention 11 mai 2009 18
12 août 2008 à 11:07
C'est bon j'ai trouvé ! Il suffit de faire


SELECT commande_product_id,
MAX(commande_date) AS date
FROM commande
GROUP BY commande_product_id
ORDER BY date DESC
1
lilaaa Messages postés 106 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 21 mai 2009 7
12 août 2008 à 10:40
essaye avec DESC a la fin de ta requête.
0
JBiN-1 Messages postés 57 Date d'inscription vendredi 26 octobre 2007 Statut Membre Dernière intervention 11 mai 2009 18
12 août 2008 à 10:50
c'est ce que j'ai fait !

en gros si je fait

SELECT commande_product_id
FROM commande
ORDER BY commande_date DESC

Je vais obtenir la liste des commande_product_id dans le bonne ordre mais si plusieurs commande ont le même produit j'aurai plusieurs fois le même.

Or je veux que les produits sont distinct
Mais si je fais

SELECT commande_product_id
FROM commande
GROUP BY commande_product_id
ORDER BY commande_date DESC

Le classement des date n'est pas bon !
0
lilaaa Messages postés 106 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 21 mai 2009 7
13 août 2008 à 12:51
ah daccord ya aussi 'SELECT DISTINCT id_commande from....'
0
marche pas cette requette ! il affiche pas la bonne ligne!! reverifie tu verras !!
0