SQL从同一个id获取多个值

2021-09-10 00:00:00 sql tsql sql-server

我在 SQL 中有一个表,其中有多个行用于同一 ID.

I have a table in SQL that has multiple lines for the same id.

例如:

ID     event_id     category_id   
1      1            3      
2      1            6
3      1            18
4      1            24
5      2            1

我想知道如何进行 SQL 查询来实现每个 event_id 的输出,它显示了它所在的所有类别.

I am wondering how I would make an SQL query to achieve the output for each event_id it shows all the categories it is in.

例如

{
    "event_id": 1,
    "categories": [3, 6, 18, 24]
}

谢谢

推荐答案

字符串聚合是否足够?

select event_id,
       string_agg(category_id, ',') within group (order by category_id)
from t
group by event_id;

相关文章