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

Langage SQL Discussion :

les x premiers [FAQ]


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 4
    Points : 10
    Points
    10
    Par défaut les x premiers
    je cherche a creer une requete qui appelle le nom X meilleurs utilisateur
    si je concidere une bd
    user avec id , point
    select id from USER ORDER by point desc ; mais cette requete m'affiche tout et pas les X premiers
    comment faire ?

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 140
    Points : 166
    Points
    166
    Par défaut
    Bonjour,

    Il faut fournir ton SGBD

    pour Sysbase, Sql Server : TOP
    pour MySql : LIMIT

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 920
    Points : 51 712
    Points
    51 712
    Billets dans le blog
    6
    Par défaut
    En SQL normatif (SQL:2003) :

    Soit la table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE TABLE T_TST
    (TST_USER       VARCHAR(16),
     TST_POINTS    INT)
     
    INSERT INTO T_TST VALUES ('PAUL', 123)
    INSERT INTO T_TST VALUES ('MARC', 456)
    INSERT INTO T_TST VALUES ('JEAN', 789)
    INSERT INTO T_TST VALUES ('LUC', 001)
    Trouver les 2 meilleurs ? Facile à l'aide des fonctions de fenêtrage de la norme SQL...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT TST_USER, TST_POINTS
    FROM
    (
    SELECT TST_USER, TST_POINTS, RANK() OVER (ORDER BY TST_POINTS DESC) AS RANG
    FROM   T_TST
    ) T
    WHERE RANG <= 2
    A lire sur les fonctions de fenêtrage :
    http://sqlpro.developpez.com/SQL_Server_2K5/N1.php
    paragraphe 1.7 : Fonctions de classement et d'énumération (norme SQL:2003)

    A +

Discussions similaires

  1. Extraire les n premiers termes d'une chaine
    Par knecmotet dans le forum C++
    Réponses: 4
    Dernier message: 03/03/2005, 16h05
  2. Connaitre les deux premier chiffres d'un input
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/01/2005, 17h50
  3. comment récupérer les x premiers enregistrements
    Par laurent82 dans le forum SQL
    Réponses: 7
    Dernier message: 12/12/2004, 17h29
  4. Réponses: 2
    Dernier message: 04/09/2004, 11h53
  5. [XML] n'afficher que les 3 premiers!
    Par Little Sloth dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 01/06/2004, 11h59

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