J'essaie de limiter une de mes colonnes dans ma requête SQL qui utilise LISTAGG pour grouper uniquement les 3 premières lignes dans une seule colonne.Limiter les résultats LISTAGG dans Oracle
Par exemple:
Table
-----
Name Orders
---------------
Joe Joe_Order1
Joe Joe_Order2
Joe Joe_Order3
Joe Joe_Order4
Joe Joe_Order5
Joe Joe_Order6
Mark Mark_Order1
Mark Mark_Order2
Mark Mark_Order3
Mark Mark_Order4
Avez-il retourner les éléments suivants ...
Name Recent_Orders
-----------------------------
Joe Joe_Order1, Joe_Order2, Joe_Order3
Mark Mark_Order1, Mark_Order2, Mark_Order3
Je suis en mesure de concaténer les données en utilisant listagg cependant, je ne suis pas tout à fait sûr de savoir comment limiter les résultats aux 3 premiers enregistrements.
SELECT NAME, LISTAGG(Orders, ', ') within group(order by Orders)
as Recent_Orders
FROM
Order_table
GROUP BY
NAME
Est-ce possible avec LISTAGG? Toute aide serait grandement appréciée. Merci