IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Requête avec ORDER BY et DESC


Sujet :

Requêtes MySQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 34
    Points : 25
    Points
    25
    Par défaut Requête avec ORDER BY et DESC
    Bonjour à toutes et à tous,

    J'ai une requête MySQL où je souhaiterai trier les résultats par mois puis par jour et ce dans l'ordre décroissant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT * 
    FROM `documents` 
    WHERE id_categorie = '".$_REQUEST['id_categorie']."' 
    AND annee = '".$_REQUEST['annee']."' 
    ORDER BY mois DESC
    Cette requete fonctionne parfaitement.

    Dès que j'essaie d'ajouter jour ça ne fonctionne plus.

    Pouvez-vous m'aider ?

    En vous remerciant par avance,
    Bien à vous,
    Séby.

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Bonjour,

    Peut-on voir la requête qui ne fonctionne pas, son message d'erreur, ainsi que le modèle de données de la table ?

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 902
    Points : 6 026
    Points
    6 026
    Par défaut
    Peux-tu fournir la description (colonnes) de ta table ?
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 34
    Points : 25
    Points
    25
    Par défaut
    Description de la table :

    categorie - char(20) - utf8_general_ci
    id_categorie - int(1)
    type - char(20) - utf8_general_ci
    nom - char(200) - utf8_general_ci
    lien - char(50) - utf8_general_ci
    jour - tinyint(2)
    mois - tinyint(2)
    annee - int(4)

    Le message d'erreur :

    Il n'y en a pas

    La requête qui ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT * 
    FROM `documents` 
    WHERE id_categorie='".$_REQUEST['id_categorie']."' 
    AND annee='".$_REQUEST['annee']."' 
    ORDER BY mois AND jour DESC

  5. #5
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Saluton,
    Déjà je te conseille d'éviter le SELECT *
    http://www.expreg.com/fred_article.p...re_des_etoiles
    ensuite la requête est simplissime
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SLECT les_noms_de_colonnes_séparés_par_des_virgules
    FROM documents
    ORDER BY mois, jour
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  6. #6
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Le problème vient du fait qu'on sépare les colonnes dans le GROUP BY par des virgules et non pas par des AND .
    Au passage, il faut répéter le DESC après chaque champ sur lequel on veut trier par ordre décroissant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORDER BY mois DESC, jour DESC
    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 34
    Points : 25
    Points
    25
    Par défaut
    Dans ce cas, seul le champ date est trié dans l'ordre décroissant.

  8. #8
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    salut,

    euh la je ne comprends pas, il n'y a pas de champ date dans le descriptif de ta table

    Peux tu nous dire ce que te retourne la requête de Cédric puis ce que tu souhaites avoir comme résultat?

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 34
    Points : 25
    Points
    25
    Par défaut
    Je viens de tester la requête de Cédric - désolé pour le retard - et elle fonctionne très bien, j'obtiens exactement ce que je veux.

    Je ne connaissais pas cette syntaxe. J'aurais du aller fouiller un peu plus dans la doc

    Merci à tous en tout cas
    Séby.

  10. #10
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Alors ce serait bien que tu marques ce post comme
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] présenter une requête avec ORDER BY id DESC LIMIT
    Par kogoi dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 17/11/2011, 18h18
  2. Probleme sur requête avec order by multiple
    Par dembroski dans le forum Requêtes
    Réponses: 25
    Dernier message: 28/01/2010, 15h47
  3. [MySQL] problème avec ORDER BY _ DESC avec des flottants
    Par Hayabusa dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/08/2006, 00h00
  4. [Oracle 10] Bizzareté requête avec order by ??
    Par Eric.H dans le forum Oracle
    Réponses: 12
    Dernier message: 22/06/2005, 12h36
  5. Problème requête avec UNION et ORDER BY
    Par Yann21 dans le forum Langage SQL
    Réponses: 12
    Dernier message: 12/12/2003, 11h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo