Oracle
 sql >> Base de données >  >> RDS >> Oracle

Agréger les lignes dans l'instruction Oracle SQL

Si vous avez 11g Release 2, vous pouvez utiliser Listagg :

Select a, Listagg(b, ', ') Within Group ( Order By b )
From t
Group By a

Il permet de trier vos valeurs, et il est déjà fourni avec Oracle :

A1  B1, B2, B3
A2  B1, B4

Sinon, vous pouvez utiliser le stragg fonction de Tom Kyte, décrite dans Rows to String.

Select a, stragg(b)
From t
Group By a

renvoie

A1  B1,B3,B2
A2  B1,B4