>  기사  >  데이터 베이스  >  GROUP_CONCAT을 사용하여 SQLite에서 여러 값을 단일 문자열로 결합하는 방법은 무엇입니까?

GROUP_CONCAT을 사용하여 SQLite에서 여러 값을 단일 문자열로 결합하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-01 12:00:29492검색

How to Combine Multiple Values into a Single String in SQLite Using GROUP_CONCAT?

SQLite의 GROUP_CONCAT 함수

이 문서에서는 데이터 그룹화 및 연결을 달성하기 위해 SQLite에서 GROUP_CONCAT 함수의 사용 및 구현에 대해 설명합니다.

소개

_id와 Name 열이 있는 테이블이 있고 데이터가 다음과 같이 저장되어 있다고 가정합니다.

1 A
1 B
1 C
1 D
2 E
2 F
3 G
3 H
3 I
3 J
3 K

원하는 결과를 얻으려면 , 각 고유 _id에는 아래 그림과 같이 연결된 Name 값의 연결된 목록이 있습니다.

1 A,B,C,D
2 EF

이를 달성하기 위해 GROUP_CONCAT 함수를 사용할 수 있습니다.

구현

제공된 쿼리에 사소한 문제가 있었습니다. GROUP_CONCAT 함수를 올바르게 구현하려면 다음을 수행해야 합니다.

  • GROUP BY 절 지정: GROUP_CONCAT과 같은 집계 함수를 사용할 때 결과를 그룹화하려면 GROUP BY 절이 필요합니다.
  • 테이블 관계에 JOIN 사용: 적절한 열에 필요한 테이블을 조인하여 테이블 간의 관계를 설정합니다.

따라서 원하는 출력을 생성하는 수정된 쿼리는 다음과 같습니다. :

SELECT AI._id, GROUP_CONCAT(Name) AS GroupedName
FROM ABSTRACTS_ITEM AI 
JOIN AUTHORS_ABSTRACT AAB ON AI._id = AAB.ABSTRACTSITEM_ID
JOIN ABSTRACT_AUTHOR AAU ON AAU._id = AAB.ABSTRACTAUTHOR_ID
GROUP BY AI._id;

대체 구문

또는 다음과 같이 쿼리를 구성할 수도 있습니다.

SELECT ID,
GROUP_CONCAT(NAME) 
FROM
    (select ABSTRACTS_ITEM._id AS ID,
     Name
     from
    ABSTRACTS_ITEM , ABSTRACT_AUTHOR , AUTHORS_ABSTRACT
    where
    ABSTRACTS_ITEM._id = AUTHORS_ABSTRACT.ABSTRACTSITEM_ID
    and
    ABSTRACT_AUTHOR._id = AUTHORS_ABSTRACT.ABSTRACTAUTHOR_ID)
GROUP BY ID;

이 대체 구문은 먼저 하위 쿼리를 사용하여 필요한 데이터를 가져온 다음 결과에 GROUP_CONCAT 함수를 적용합니다.

결론

SQLite에서 JOIN 연산 및 GROUP과 함께 GROUP_CONCAT 함수를 사용합니다. BY 절을 사용하면 결과 집합 내에서 값을 효과적으로 그룹화하고 연결할 수 있습니다.

위 내용은 GROUP_CONCAT을 사용하여 SQLite에서 여러 값을 단일 문자열로 결합하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.