SQL连接表来聚合ID列表?

时间:2018-05-03 15:38:04

标签: sql

这是表格,如果我想为每个学生聚合courseID,该怎么办?我可以在SQL中执行此操作吗?

StudentCourse
-------------
StudentID  CourseID
1          101
1          102
1          103
2          103

我想要的是什么:

StudentCourse
-------------
StudentID  CourseID
1          101,102,103
2          103

1 个答案:

答案 0 :(得分:1)

如果您使用的是 Oracle 数据库,则可以使用" LISTAGG "功能

SELECT StudentID,
    LISTAGG(CourseID, ', ') WITHIN GROUP (ORDER BY StudentID) as CourseID
      FROM StudentCourse
        GROUP BY StudentID;