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 함수를 올바르게 구현하려면 다음을 수행해야 합니다.
따라서 원하는 출력을 생성하는 수정된 쿼리는 다음과 같습니다. :
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!