banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Tue 30 September 2014 17:59

Tintin51
Juste Inscrit !
Date d'inscription: 4 May 2014
Messages: 4

MAPINFO 12 - Sélection de 250 lignes en fonction d'un champ

Bonjour,

Je possède une table avec un identifiant, un nom et un champ en nombre entier (pour faire simple). Je recherche une fonction me permettant de sélectionner les 250 données qui possèdent les nombres entiers les plus grands.

Cela doit être simple, mais je ne trouve pas de discussion ou tuto sur internet (je ne dois pas avoir les bons mots clefs !).

Merci par avance,
Tintin

Hors ligne

 

#2 Tue 30 September 2014 20:37

Daniel
Membre
Lieu: Victoriaville, Québec
Date d'inscription: 6 Sep 2005
Messages: 2028

Re: MAPINFO 12 - Sélection de 250 lignes en fonction d'un champ

Bonjour

Est-ce que votre colonne en nombre entier, les données sont uniques ou il se peut que la même donnée revienne?  Si oui, mon premier réflexe serait de faire la séquence suivante :

1- Ajouter une colonne temporaire que je nommerais séquentiel
2- Dans la table de données, faire un tri décroissant sur la colonne nombre entier.
3- Ajouter le séquentiel dans la colonne prévue
4- Sélectionner dans la Table de données, les 250 premières lignes

Si plus d'une données, on a besoin de quelques statistiques (Min, Max et un tableau des fréquences) pour connaître le nombre de fois que revient une données.  Ou juste faire une carte thématique par valeur individuelle va vous données la fréquence.

Bref, voici un début de piste de solution.

Daniel


De retour à la géomatique

Hors ligne

 

#3 Tue 30 September 2014 21:17

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: MAPINFO 12 - Sélection de 250 lignes en fonction d'un champ

Salut,

+1 avec Daniel
Voilà le script à placer dans la FMB (Fenêtre MapBasic) -> Options -> Afficher fenêtre MapBasic.

Alter Table "TaTable" ( add ID Integer ) Interactive
Select * from Tatable order by TonChampenEntier DESC into TableTriee
Update TableTriee set ID = RowId
Select * from TableTriee where ID<=250 into Resultat


Attention -> bien sélectionner tout le code avant validation sinon la FMB ne prendra que la dernière ligne.
A+
Joël

Dernière modification par Spacejo (Tue 30 September 2014 21:18)

Hors ligne

 

Pied de page des forums

Powered by FluxBB