Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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é ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Mon 23 December 2013 08:50

DARDI
Participant actif
Lieu: BORDEAUX
Date d'inscription: 23 Jan 2006
Messages: 102

sélectionner les n premiers enregistrements

Bonjour,

j'aimerai sélectionner les n premiers enregistrements, les n à n+x enregistrements ou encore les n derniers enregistrements d'une table...

Je n'ai pas touvé, ni dans la doc, ni sur le net.

Si quelqu'un a la solution !!!...

Merci et bonne journée.

Hors ligne

 

#2 Mon 23 December 2013 10:14

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

Re: sélectionner les n premiers enregistrements

Salut,

En créant une colonne supplémentaire dans ta table et en l'incrémentant avec "RowId".

Code:

update Tatable set TonNouveauChamp=RowId

Code:

Select * from Tatable where TonNouveauChamp <= n into Resultat
Select * from Tatable where TonNouveauChamp >= n and TonNouveauChamp <= n+X into Resultat

Pour la dernière requête:
MAX ---> Retourne la valeur maximum de la requête
LAST ---> Retourne le champ du dernier enregistrement d'une requête
Une variante pour la requête "n+X" :

Code:

Select * from Tatable where TonNouveauChamp BETWEEN n and n+X into Resultat

A+
Joël

Dernière modification par Spacejo (Mon 23 December 2013 11:07)

Hors ligne

 

#3 Mon 23 December 2013 10:31

Nicolas Szlapka
Participant actif
Lieu: NPDC
Date d'inscription: 20 Dec 2006
Messages: 107

Re: sélectionner les n premiers enregistrements

Bonjour,

Si ça ne pose pas de problème d'ajouter un champ, il faudrait une colonne qui comporte un numéro de 1 à n (ex : ID).
... et mettre à jour avec la formule de Spacejo

Ensuite il suffit de faire une sélection du genre :
Select * from ma_table where ID <= 20 si on veut les 20 premiers enregistrements de la table...

Note : Spacejo a répondu plus vite ! je n'ai pas rafraîchi la page avant de répondre smile

Bonne journée

Dernière modification par Nicolas Szlapka (Mon 23 December 2013 10:31)


Nicolas

Hors ligne

 

#4 Mon 23 December 2013 14:37

DARDI
Participant actif
Lieu: BORDEAUX
Date d'inscription: 23 Jan 2006
Messages: 102

Re: sélectionner les n premiers enregistrements

Super et merci.
Bonnes fêtes.

Hors ligne

 

#5 Tue 24 December 2013 16:22

Jean-Jacques
Participant actif
Lieu: Aurillac
Date d'inscription: 4 Jan 2006
Messages: 99

Re: sélectionner les n premiers enregistrements

Bonjour

Pour les neuf premiers enregistrements de MaTable :

Select * from MaTable  where rowid > 0 and rowid < 10 into Selection

Cordialement
Jean-Jacques
DDT15


Jean-Jacques
DDT15

Hors ligne

 

Pied de page des forums

Powered by FluxBB