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

HyperFileSQL Discussion :

Limiter le nombre de résultats d'un requête


Sujet :

HyperFileSQL

  1. #1
    Membre confirmé
    Avatar de teddyalbina
    Homme Profil pro
    Développeur .Net,C++
    Inscrit en
    Janvier 2008
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .Net,C++

    Informations forums :
    Inscription : Janvier 2008
    Messages : 466
    Points : 568
    Points
    568
    Par défaut Limiter le nombre de résultats d'un requête
    Bonjour,

    Je travail pour la première fois avec HYperFile et je voudrais savoir comment faire pour limiter le nombre de résultats retourné par une requête ?

    De plus comment faire pour sélectionner un interface par exemple tous les résultats de 50 à 78

    Il est difficile de trouver des infos sur cette base de données

    Merci
    Viva la viva... en el chorizo de la corida de leon.... (cette phrase n'a aucun sens je sais )

  2. #2
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Bonjour

    Utilise la clause LIMIT

    Dans l'aide :
    LIMIT

    La clause LIMIT permet de limiter le nombre d'enregistrements retournés.
    Dans une instruction SELECT, la clause LIMIT vient après les clauses GROUP BY, HAVING et ORDER BY.

    Format d'utilisation :

    Exemples :
    WHERE ConditionsSélection
    GROUP BY NomDesRubriques HAVING ConditionsGroupes
    LIMIT [Début,] NombredeLignes

    WHERE ConditionsSélection
    GROUP BY NomDesRubriques HAVING ConditionsGroupes
    LIMIT NombredeLignes OFFSET Début

  3. #3
    Membre confirmé
    Avatar de teddyalbina
    Homme Profil pro
    Développeur .Net,C++
    Inscrit en
    Janvier 2008
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .Net,C++

    Informations forums :
    Inscription : Janvier 2008
    Messages : 466
    Points : 568
    Points
    568
    Par défaut
    D'après le peu d'infos trouvé sur le net LIMIT ne marche pas, je vais essayer quand même et je vous tiens au courant
    Viva la viva... en el chorizo de la corida de leon.... (cette phrase n'a aucun sens je sais )

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 100
    Points
    1 100
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT TOP 20 Rub1,  Rub2
    FROM MonFichier
    pour renvoyer seulement les 2 premières lignes.

  5. #5
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 161
    Points : 221
    Points
    221
    Par défaut
    Bonjour !

    La clause LIMIT ne fonctionne pas en Hyperfile SQL (vas savoir pourquoi). L'astuce consiste à créer une boucle :

    HExécuteRequête(...)
    HLitPremier(...)
    POUR i = 1 à <Limite>
    Traitement
    HLitSuivant(...)
    i++
    Fin
    Ensuite, pour sélectionner les "50 à 78", il faut positionner le pointeur au 50è enregistrement, j'ai pas la doc sous la main mais c'est quelque chose comme HLit ou HLitRecherche...

    Si ton but est de créer un espèce de multipage "(Premier)(Précédent) 1 2 3 4 5 (Suivant)(Dernier)", il y a le champ Règlette que j'ai découvert tout récemment.

  6. #6
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Bonjour
    Je viens d'essayer ces deux syntaxes avec WDSQL et ça marche très bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * FROM FICHIER LIMIT 0,2
     
    SELECT TOP 2 * FROM FICHIER
    Test effectué sur HF Classic
    Dans ton cas c'est bien sur LIMIT qu'il faut utiliser pour gérer ta pagination

    Je suis en WD15

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 39
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par hpascal Voir le message
    Bonjour
    Je viens d'essayer ces deux syntaxes avec WDSQL et ça marche très bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * FROM FICHIER LIMIT 0,2
     
    SELECT TOP 2 * FROM FICHIER
    Test effectué sur HF Classic
    Dans ton cas c'est bien sur LIMIT qu'il faut utiliser pour gérer ta pagination

    Je suis en WD15
    Bonjours a tous.
    Je m'incruste dans la discussion.
    Les deux syntaxe fonctionne mais....,est ce que quelqu'un a déjà réussi a limiter le nombre de ligne renvoyées via un paramètre.

    Si quelqu'un sait...par avance merci

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 39
    Points : 45
    Points
    45
    Par défaut
    J'ai fini par trouver comment limiter le nombre d'enregistrement via un paramètre.

    J'ai testé sur une base MySql mais pas sur Hyperfile Classic.

    Requete classique
    select * FROM mabase
    WHERE
    Champ-X = param1
    LIMIT 0,param2

    SI PAS HExécuteRequête(TESTLIMIT,hRequêteDéfaut,1,30) ALORS
    Erreur(ErreurInfo(errComplet))
    FIN

    cela ne fonctionne pas

    En fait il faut donner le nom de la connexion dans la requete et l'executer avec "hRequêteSansCorrection"

    ce qui donne

    SI PAS HExécuteRequête(TESTLIMIT,Connexion_bdd,hRequêteSansCorrection,1,30) ALORS
    Erreur(ErreurInfo(errComplet))
    FIN

    Et la ça fonctionne on peut décider du nombre de ligne que l'on veut traiter.

    @+

  9. #9
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Si LIMIT ne marche pas, essaie TOP
    Patrick Catella

    Je ne réponds pas aux messages privés si ceux ci suivent un sujet. Il est préférable pour tous de poursuivre la discussion dans le sujet d'origine.

    Je suis Concepteur développeur Windev (10 ans) et Windev mobile (4 ans) en recherche d'emploi. J'etudie toute proposition

Discussions similaires

  1. [SQLK][T-SQL]Limitation du nombre de résultats
    Par elsuket dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 10/08/2007, 08h02
  2. [PEAR][DB] Nombre de résultat d'une requête
    Par vannhi dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 23/07/2007, 11h04
  3. [MySQL] Tester le nombre de résultats d'une requête
    Par ksper92 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 05/02/2007, 15h13
  4. [sql]Limiter le nombre de résultats
    Par Mimo dans le forum Oracle
    Réponses: 3
    Dernier message: 31/01/2006, 15h53
  5. [XSL] limiter le nombre de résultat ?
    Par MatMeuh dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 31/10/2004, 19h14

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