ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • bigquery에서 특정 그룹의 필드 값을 구분자로 합치기
    프로그래밍 2023. 6. 22. 14:35
    728x90
    반응형

     

     

     

     

    빅쿼리에서 특정 그룹의 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
    반응형
Designed by Tistory.