Requete SQL OrderBy; Group By

Résolu
JBiN-1 Messages postés 58 Statut Membre -  
 fred -
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
Configuration: Linux
Firefox 2.0.0.14

4 réponses

  1. JBiN-1 Messages postés 58 Statut Membre 18
     
    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
  2. lilaaa Messages postés 107 Date d'inscription   Statut Membre 7
     
    essaye avec DESC a la fin de ta requête.
    0
  3. JBiN-1 Messages postés 58 Statut Membre 18
     
    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
    1. lilaaa Messages postés 107 Date d'inscription   Statut Membre 7
       
      ah daccord ya aussi 'SELECT DISTINCT id_commande from....'
      0
  4. fred
     
    marche pas cette requette ! il affiche pas la bonne ligne!! reverifie tu verras !!
    0