[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 10: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 13: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 19: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+
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 10: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".
Pièces jointes
ludo.V9.1.POST.odb
(142.49 Kio) Téléchargé 130 fois
LibreOffice Version: 5.1.6.2
LinuxMint 18.3
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 19: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+
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 10: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
Répondre