[Résolu] Requête : ordre croissant pour un champ spécfique

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
coucou
Membre OOrganisé
Membre OOrganisé
Messages : 76
Inscription : 08 sept. 2009 08:20

[Résolu] Requête : ordre croissant pour un champ spécfique

Message par coucou »

Bonjour,
La modération vous a écrit: Merci de ne pas oublier l'icône la prochaine fois

J'ai crée une requête toute simple, afin de classer mes données selon l'ordre croissant d'un champ spécifique( en l’occurrence : l'âge).

Cela fonctionne à un détail près: l'ordre croissant se fait comme suit : 10,11,12,13...2,3,4...etc
Je ne sais plus comment s'appelle cet ordre croisant particulier, mais cela ne me convient pas. IL me faudrait un ordre croissant "classique".
Que dois-je changer ?

D'avance, merci pour votre aide.
Dernière modification par toucan le 22 déc. 2018 12:59, modifié 2 fois.
Raison : Ajout de l'icôle à la balise
LibreOffice Version: 5.1.6.2
LinuxMint 18.3
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 18:07
Localisation : Guyane

Re: Requête : ordre croissant pour un champ spécfique

Message par Piaf »

Bonjour
Je ne reproduis pas.
triAge.png
Mais sans savoir comment est calculé l'âge, difficile de pouvoir t'aider.
Joins un fichier sans donnée confidentielle qui reproduise le problème.
A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
coucou
Membre OOrganisé
Membre OOrganisé
Messages : 76
Inscription : 08 sept. 2009 08:20

Re: Requête : ordre croissant pour un champ spécfique

Message par coucou »

Voici.
C'est une base de données de jeux de société. Chaque jeu possède un âge minimum conseillé, noté par exemple 6+, pour dire "6 ans et plus".
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice Version: 5.1.6.2
LinuxMint 18.3
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 18:07
Localisation : Guyane

Re: Requête : ordre croissant pour un champ spécfique

Message par Piaf »

Re
Tes données âge sont en texte.
Tu peux tester cette requête

Code : Tout sélectionner

SELECT "Age_Suggere", "Titre" FROM "Jeux" ORDER BY CASEWHEN( LENGTH( "Age_Suggere" ) > 2, CAST( SUBSTR( "Age_Suggere", 1, 2 ) AS INTEGER ), CAST( SUBSTR( "Age_Suggere", 1, 1 ) AS INTEGER ) ) ASC
triAge.png
A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
coucou
Membre OOrganisé
Membre OOrganisé
Messages : 76
Inscription : 08 sept. 2009 08:20

Re: Requête : ordre croissant pour un champ spécfique

Message par coucou »

Ah oui, c'est du texte et non des nombres ! Cela m'avais échappé , merci !

Le requête semble ainsi parfaitement fonctionner !

Grand Merci !
LibreOffice Version: 5.1.6.2
LinuxMint 18.3