프로그래밍

bigquery에서 특정 그룹의 필드 값을 구분자로 합치기

kugancity 2023. 6. 22. 14:35
반응형

 

 

 

 

빅쿼리에서 특정 그룹의 id를 구분자로 ,로 합쳐서 출력하기 위해서는 STRING_AGG 함수를 사용할 수 있습니다. 아래의 쿼리는 그룹화된 결과의 id를 구분자로 ,로 합친 값을 출력하는 방법을 보여줍니다.

 

SELECT
    group_column,
    STRING_AGG(CAST(id AS STRING), ',') AS combined_ids
FROM
    your_table
WHERE
    condition
GROUP BY
    group_column;

 

 

위의 쿼리에서 your_table은 실제 테이블 이름으로 대체해야 합니다. group_column은 그룹화할 기준 열의 이름으로 변경해야 합니다. condition은 원하는 필터링 조건을 나타내는 부분입니다. 필요한 경우 WHERE 절을 수정하여 필터링 조건을 추가할 수 있습니다.

예를 들어, 다음과 같은 테이블이 있다고 가정해 봅시다:

 

+----+---------+---------+
| id | user_id | group_column |
+----+---------+---------+
| 1  |   100   |     A     |
| 2  |   101   |     A     |
| 3  |   102   |     B     |
| 4  |   103   |     B     |
| 5  |   104   |     B     |
+----+---------+---------+

 

 

다음의 쿼리를 실행하면 그룹화된 결과의 id를 구분자로 ,로 합친 값을 얻을 수 있습니다:

 

SELECT
    group_column,
    STRING_AGG(CAST(id AS STRING), ',') AS combined_ids
FROM
    your_table
GROUP BY
    group_column;

 

위의 쿼리를 실행하면 다음과 같은 결과를 얻을 수 있습니다:

+---------+----------------+
| group_column | combined_ids  |
+---------+----------------+
|     A     |     1,2        |
|     B     |   3,4,5        |
+---------+----------------+

 

위의 결과에서 combined_ids 열은 그룹화된 id를 ,로 구분한 문자열 값을 나타냅니다. 각 그룹에 속한 id가 구분자 ,로 구분되어 출력됩니다. CAST 함수를 사용하여 id를 문자열로 변환했습니다.

 

 

 

 

 

 

 

728x90
반응형