Cochon: Obtenir des n premières valeurs par groupe
J'ai des données qui est déjà groupées, il ressemble à ceci:
user value count
---- -------- ------
Alice third 5
Alice first 11
Alice second 10
Alice fourth 2
...
Bob second 20
Bob third 18
Bob first 21
Bob fourth 8
...
Pour chaque utilisateur (Alice et Bob), je veux récupérer leur n premières valeurs (disons 2), triées termes de "compter".
Donc, la sortie désirée je veux, c'est ceci:
Alice first 11
Alice second 10
Bob first 21
Bob second 20
Comment puis-je le réaliser?
OriginalL'auteur Hoff | 2013-07-15
Vous devez vous connecter pour publier un commentaire.
Une approche
D'entrée est:
De sortie est:
limite ne garantit pas que vous obtiendrez le haut des dossiers.
Le docs dire que faire un
limit
après que vous avezorder
ed la collection ne vous garantissons que vous obtenir le haut des dossiersOriginalL'auteur Nag
J'ai juste fait un constat que
haut est une fonction intégrée de fonction et peut générer une erreur de sorte que la seule chose que j'ai faite a été changé le nom de la relation, dans ce cas, et au lieu de
qui donne à la sortie
Modifié comme indiqué ci-dessous -
qui m'a donné le résultat souhaité, comme vous -
Espère que cette aide.
OriginalL'auteur Rajnish G