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 :

Order by + order by cast


Sujet :

Requêtes MySQL

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Order by + order by cast
    Bonjour,

    Ma requête est :

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    $query_Recordset1 = sprintf("SELECT * FROM livres WHERE pseudo = '$pseudo' order by `titre`, cast(`id` as char) ASC ", GetSQLValueString($colname_Recordset1, "text"));

    Ça me classe bien mes livres par titre mais l'order by cast ne fonction pas, il me fait le tri (1,11,2,23,25,46...ect) alors qu'il devrais faire (1,2,11,23,25,46)

    Je cale, merci pour votre aide

  2. #2
    Membre à l'essai
    Homme Profil pro
    Architecte technique
    Inscrit en
    Octobre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 13
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    Le résultat de votre requête est normal car vous demandez un tri par CHAR et le '11' en ASCCI est toujours avant le '2'. Je pense qu'il faut utiliser la fonction CAST de la manière suivante : CAST('id' AS SIGNED). Ce qui aura pour fonction de caster la chaine de caractéres en entier et vous devriez avoir le résultat attendu.

    Normalement ?

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Requête
    Bonjour,

    alors j'ai modifier :

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    $query_Recordset1 = sprintf("SELECT * FROM livres WHERE pseudo = '$pseudo' ORDER BY `titre`, CAST(`id` as SIGNED) ASC ", GetSQLValueString($colname_Recordset1, "text"));

    Mais ne prend toujours pas le cast.

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    1) Il vaut mieux éviter la guerre des étoiles !

    2) De quel type est la colonne id ? Vu son nom, normalement, cela devrait être une clé entière auto-incrémentée. Inutile alors de la caster pour faire un tri.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. SQL ORDER BY avec CAST
    Par chatour dans le forum Bases de données
    Réponses: 10
    Dernier message: 21/07/2011, 18h47
  2. problème ORDER BY et CAST
    Par clave dans le forum Requêtes
    Réponses: 5
    Dernier message: 29/03/2011, 23h31
  3. Probleme avec un "order by"
    Par LineLe dans le forum ASP
    Réponses: 30
    Dernier message: 16/09/2003, 15h38
  4. ORDER BY
    Par mythtvtalk.com dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 11/07/2003, 11h56
  5. ORDER BY dans un ordre inhabituel
    Par Riam dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 21/03/2003, 13h29

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