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 :

Problème ORDER BY


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Webdesigner
    Inscrit en
    Septembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Septembre 2013
    Messages : 5
    Par défaut Problème ORDER BY
    Bonjour
    n'ayant trouvé de solution nulle part je me permet de poser mon problème ici.
    Je dois trier un champ en ordre croissant.
    Le champs contient des références de type :

    xxx-xxx-xxx-xxx-xxx

    par exemple

    1-098-1-1-47
    1-098-1-1-48
    ...
    1-098-2-1-1

    etc...

    J'aurais besoin de faire un tri croissant de type naturel tenant compte des valeurs numériques entre chaque tiret de gauche à droite

    Malgré mes essais et recherches ... pas moyen de le faire ...

    j'ai essayé avec l'astuce du +0 , avec LENGTH ... CAST ... SUBSTRING_INDEX
    etc ...
    Si quelqu'un à une idée !

    Merci d'avance

    Netadam

  2. #2
    Membre émérite Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité codeur !
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 601
    Par défaut
    Si tu sais combler avec des 0 ta chaîne , remplacer 1-098-1-1-48 par 001-098-001-001-048 alors il te suffit ensuite de trier sur REPLACE (string,'-','') voire sur la string créée.
    Sinon, , c'est plus chaud ...Tu es en MySQL pur ou tu oeux travailler ta string avec php ? si php, utilise explode

  3. #3
    Membre à l'essai
    Homme Profil pro
    Webdesigner
    Inscrit en
    Septembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Septembre 2013
    Messages : 5
    Par défaut order by
    Merci pour les idées

    je peux utiliser le php mais je ne vois pas comment integer le explode dans la requête SQL ... aurais-tu un exemple ?

    merci

    Netadam

  4. #4
    Membre émérite Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité codeur !
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 601
    Par défaut
    ce que je suggère c'est de créer un champ supplémentaire ou tu reformates proprement la valeur 1-098-1-1-47 en 001-098-001-001-047. le tri sera alors direct
    Tu peux faire ce formatage facilement en utilisant explode avec '-' en séparateur.

  5. #5
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    que représente cette série de numéro ?

  6. #6
    Membre à l'essai
    Homme Profil pro
    Webdesigner
    Inscrit en
    Septembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Septembre 2013
    Messages : 5
    Par défaut
    Une référence produit.

    Je ne peux pas modifier la structure de la base ni les données.

    Je dois afficher la liste des produits classés en ordre croissant sur cette référence ...

    Merci !

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

Discussions similaires

  1. problème order by avec SQL 2000
    Par lazzeroni dans le forum Langage SQL
    Réponses: 0
    Dernier message: 09/04/2008, 08h07
  2. Problème Order by
    Par harlockbaz dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 21/01/2008, 09h50
  3. Problème ORDER BY COUNT()
    Par Gwipi dans le forum Requêtes
    Réponses: 4
    Dernier message: 19/04/2006, 16h01
  4. MySQL 4.1.11 : problème ORDER BY
    Par Manu0086 dans le forum Requêtes
    Réponses: 3
    Dernier message: 10/02/2006, 12h41
  5. [MYSQL] Problème ORDER BY sur deux champs
    Par LE NEINDRE dans le forum Requêtes
    Réponses: 8
    Dernier message: 14/10/2005, 16h46

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