|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Expert Confirmé
![]() ![]() |
Bonjour,
Je viens vers vous car je me retrouve devant une situation un peu complexe pour moi. J'ai une demande d'un utilisateur qui a besoin de faire ressorti pour chaque ID de ma base, les 5lignes correspondant aux 5plus grandes utilisations d'un objet de ma base. Malheureusement pour moi, je ne vois absolument pas comment je peux limiter par utilisateur un nombre de lignes à remonter. Si ce n'est en faisant un curseur.. mais je préfèrerais m'en passer si la solution en SQL existe. Code sql :
Voici les 3 champs de ma table qui devraient me permettre de ressortir ces infos. J'ai pensé à une CTE, mais je ne vois pas comment arrêter la récursion à 5 et surtout, comment ressortir 1seule ligne par utilisateur pour chaque "niveau". J'avais commencé par resortir le count de chaque couple IdUser/IdPrize, ensuite, je ne vois pas comment limiter à 5par utilisateurs.. Si quelqu'un d'entre vous peut m'aider, même me dire que ce n'est pas possible, ça me serait d'un grand secours. Cordialement, Lyche
__________________
Citation:
|
|||
|
|
00
|
|
|
#2 |
![]() ![]() |
Regardez du côté de la fonction de fenêtrage ROW_NUMBER.
__________________
Email : http://scr.im/waldar |
|
10
|
|
|
#3 | |
|
Expert Confirmé
![]() ![]() |
C'est exactement ce que je cherchais, je ne connaissais pas la fonction PARTITION de OVER().
Grand merci à toi! Cordialement
__________________
Citation:
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com