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 :

Selection de lignes


Sujet :

Développement SQL Server

  1. #1
    Membre habitué
    Selection de lignes
    Bonjour,

    Sur une table contenant moins de 100 lignes (renouvelée chaque jour), comment selectionner la première ligne puis ensuite chaque 10ieme ligne.
    Pour une table contenant par exemple 30 lignes, la requête en aura resortie 3 : ligne 1, 11, 21
    le jour suivant, si cette table contient par exemple 55 lignes, la requête en aura resortie 6 : ligne 1, 11, 21,31,41,51.
    le jour suivant, si cette table contient par exemple 5 lignes, la requête en aura resortie 1 : ligne 1.

    Mon code fonctionne mais sans capter la ligne 1

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT t.CUMUL, t.COL3
    FROM
    (
        select COL1,COL2,COL3,COL4
    		,sum(COL4)  OVER(PARTITION BY COL2 ORDER BY COL3 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) CUMUL
    		from MATABLE
    		WHERE COL1 = 1
    ) AS t
    WHERE t.CUMUL % 10 = 0  
    ORDER BY t.COL3


    Merci pour votre aide

  2. #2
    Expert éminent sénior
    Bonjour,
    Pour sortir la n-ième ligne il faut une notion de rang dans les lignes.
    Avec SqlServer ça peut se faire avec ROW_NUMBER.

    Tatayo.

  3. #3
    Membre habitué
    Merci pour cette réponse.
    Effectivement, mais ROW NUMBER me donnera la n-ieme ligne mais sans la premiere.

    Avez vous un exemple ?

  4. #4
    Expert éminent sénior
    Non, ROW_NUMBER va numéroter les lignes. A toi ensuite de prendre les numéros qui t'intéressent (numlig %10 = 1, par exemple pour avoir les ligne 1,11,21,31).

    Pour une réponse plus précise, il nous faut un jeu d'essai et le résultat attendu.
    Par exemple on ne sait pas ce que signifie "la ligne 1". D'où sort ce numéro 1 ?

    Tatayo.

  5. #5
    Membre habitué
    ah bah oui !! tu as raison !!
    merci !



    (Les deux 1 suivants c'est parce qu'il y à moins de 10 lignes dans les 2 familles suivantes.. )

  6. #6
    Expert éminent
    Citation Envoyé par guilld Voir le message
    ah bah oui !! tu as raison !! merci !
    (Les deux 1 suivants c'est parce qu'il y à moins de 10 lignes dans les 2 familles suivantes.. )
    Ça nous aide beaucoup, pas de contexte, des résultats qui ne correspondent même pas à la requête initiale, pas de jeu de données d'origine.
    Tu aurais posté la photo de ton chien que ça nous aurait autant aidé
    les règles du forum - mode d'emploi du forum
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    JE NE RÉPONDS PAS aux questions techniques par message privé.

###raw>template_hook.ano_emploi###