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 :

Tri sur un morceaux d'une chaine de caractère


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 195
    Points : 121
    Points
    121
    Par défaut Tri sur un morceaux d'une chaine de caractère
    Bonjour à tous,

    Mes connaissances en requêtes SQL arrivent à leurs limites.
    Pour commencer j'ai une base de données contenant une colonne avec des email déclaré en VARCHAR.
    Pour les besoins d'un client je souhaiterai extraire des adresses mail suivant une condition (Ca c'est bon lool) mais je voudrais ensuite les classer mais pas par rapport au premier caractère mais par rapport à leur nom de domaine après le "@".
    Voici un exemple:

    Résultat sans tri :

    xxx@ab01
    xxx@ab24
    xxx@ab01
    xxx@ab02
    xxx@ab06
    xxx@ab36
    xxx@ab20

    Résultat avec tri :

    xxx@ab01
    xxx@ab01
    xxx@ab02
    xxx@ab06
    xxx@ab20
    xxx@ab24
    xxx@ab36

    Je n'arrive pas à trouver mon bonheur sur le net, merci d'avance pour votre aide.

    Nicolas

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Bonjour,


    On peut utiliser des fonctions dans la clause order by.

    Du coup, il faudra isolé la partie après le @ (regardez les fonctions de chaînes disponible sur mysql) :

    ORDER BY SUBSTRING(...)

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 195
    Points : 121
    Points
    121
    Par défaut
    Bonjour,

    Merci beaucoup je penserai à l'avenir à ce genre de fonction.
    Voici ma solution pour ce qui chercherai la même chose ou une idée similaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM `NOM_DE_LA_TABLE` WHERE `email_abonne` LIKE '%@cg%' ORDER BY SUBSTRING( email_abonne, LOCATE( '@', email_abonne ) ) ASC

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/07/2007, 14h10
  2. [mysql 4.11] Select sur la taille d'une chaine de caractère
    Par epeichette dans le forum Requêtes
    Réponses: 8
    Dernier message: 19/06/2007, 09h50
  3. Extraire pls morceaux d'une chaine dans des variables!
    Par baillador dans le forum Langage
    Réponses: 10
    Dernier message: 05/04/2006, 13h21
  4. Dégradé sur une chaine de caractères avec 3 a 4 couleurs
    Par avogadro dans le forum Composants VCL
    Réponses: 6
    Dernier message: 31/03/2006, 13h21
  5. Tri sur colonne DBgrid lié à une TTable
    Par Oluha dans le forum Bases de données
    Réponses: 2
    Dernier message: 02/02/2006, 13h42

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