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 et valeur null


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 187
    Par défaut order by et valeur null
    bonjour,
    voici ma requete, elle est bonne et fonctionne bien
    mais ordreImagesProduits peut etre vide (Null)
    avec cette requete les ordreImagesProduits qui sont vides (Null)
    s'affichent avant un ordreImagesProduits ayant comme valeur '1'
    j'aimerai qui s'affichent apres (plus logique)
    exemple : 1, 2, 3, null, null, ...
    comment faire, mettre une exeption aux valeurs null dans mon order by ???

    merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $reponse2 = $bdd->query("SELECT *
    FROM images_produits
    WHERE idProduits = $idProduits
    ORDER BY ordreImagesProduits 
    ASC
    ")

  2. #2
    Membre éprouvé
    Homme Profil pro
    Data Analyste Senior
    Inscrit en
    Août 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data Analyste Senior
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2010
    Messages : 53
    Par défaut
    Bonjour,

    Tu peux t'en sortir en rajoutant une colonne calculée comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT   (ordreImagesProduits  is null) as sortCol, *
    FROM     images_produits
    WHERE    idProduits = $idProduits
    ORDER BY sortCol, ordreImagesProduits  ASC

  3. #3
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    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 818
    Billets dans le blog
    14
    Par défaut
    Euh... DeTraX, ta requête mettra justement les NULL en position 1 !

    Artichaudd, évite de relancer la guerre des étoiles !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT -- les colonnes nécessaires et pas étoile !
    FROM images_produits
    WHERE idProduits = $idProduits
    ORDER BY 
    	CASE
    		WHEN ordreImagesProduits IS NOT NULL THEN 1
    		ELSE 10000
    	END, 
    	ordreImagesProduits
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    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 !

  4. #4
    Membre éprouvé
    Homme Profil pro
    Data Analyste Senior
    Inscrit en
    Août 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data Analyste Senior
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2010
    Messages : 53
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    Euh... DeTraX, ta requête mettra justement les NULL en position 1 !
    Heu... non !! Elle permet de trier à la fois sur le fait que la colonne est à null ou non, puis sur tri initial

  5. #5
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    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 818
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par DeTraX Voir le message
    Heu... non !! Elle permet de trier à la fois sur le fait que la colonne est à null ou non, puis sur tri initial
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT   (ordreImagesProduits  IS NULL)
    Si la colonne est à NULL, la parenthèse sera vraie, c'est à dire qu'elle donnera la valeur 1.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORDER BY sortCol, ordreImagesProduits  ASC
    Les 1 viendront en premier non ? Donc les NULL !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    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 !

  6. #6
    Membre Expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Billets dans le blog
    1
    Par défaut
    en fait non cinephil...

    si la colonne est non nulle tu obtiens bien 0 et 1 si elle l'est donc ça classera d'abord les valeur non nulle puis nulle avec l'order by qu'il a mis...

    et la question originale est bien d'obtenir les valeurs nulles à la fin

Discussions similaires

  1. ORDER BY (colonne peut avoir la valeur NULL)
    Par Alexdezark dans le forum Langage SQL
    Réponses: 7
    Dernier message: 03/12/2008, 12h31
  2. requete avec la valeur NULL
    Par Hinkel dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 12/11/2008, 16h39
  3. order by sans les valeurs NULL
    Par pendragon509 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 21/10/2005, 12h31
  4. [CR9] conversion de valeurs NULL
    Par ministry dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 12/09/2003, 11h41
  5. Valeurs Nulles ou Valeurs à Zéro
    Par LLaurent dans le forum XMLRAD
    Réponses: 5
    Dernier message: 30/07/2003, 11h40

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