프로그래밍
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
반응형