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

Développement SQL Server Discussion :

Sélectionner un résultat tous les X résultats


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 183
    Par défaut Sélectionner un résultat tous les X résultats
    Bonjour ,

    J'effectue une requête de sélection me renvoyant un grand nombre de donnée. J'aimerai pouvoir sélectionner une donnée tout les X résultats exemple:

    --- Résultat source ----
    [0] valeur1
    [1] valeur2
    [2] valeur3
    [3] valeur4

    --- Résultat modifié ----
    [0] valeur1
    [3] valeur4

    Est-ce possible avec SQL Server ?

  2. #2
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Par exemple, avec RANK, tu peux numéroter les lignes retournée dans une sous-requête.

    Ensuite, tu fais une clause where avec un modulo sur ce numéro.

    https://support.microsoft.com/fr-fr/kb/186133

    Soit la requête d'origine :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select a.au_lname, a.au_fname
    from authors a
    order by rank

    Le RANK :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select rank() OVER (ORDER BY a.au_lname, a.au_fname) as rank, a.au_lname, a.au_fname
    from authors a
    order by rank

    Ce qui donne au final :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    select rank, au_lname, au_fname
    from
    (
       select rank() OVER (ORDER BY a.au_lname, a.au_fname) as rank, a.au_lname, a.au_fname
       from authors a
    )
    where rank mod 3 = 1
    order by rank

    Ça devrait marcher.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 183
    Par défaut
    Merci c'est ce qu'il me fallait . A bientôt !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/06/2007, 21h03
  2. Réponses: 2
    Dernier message: 06/04/2007, 16h35
  3. Addition tous les résultats
    Par Anduriel dans le forum Langage SQL
    Réponses: 7
    Dernier message: 28/10/2006, 13h12
  4. [MySQL] 1 seul tableau pour tous les résultats de requetes
    Par oceane751 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 25/05/2006, 20h12
  5. Réponses: 11
    Dernier message: 06/09/2005, 13h27

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