[MySQL] 여러 기록의 열 내용을 결합하여 획득
6914 단어 SQLgroup_concatconcatMySQL
SQL 취합을 사용하여 여러 행의 동일한 열 컨텐트를 얻으려는 경우
예를 들어 블로그 앱 기사 일람에 댓글을 단 모든 사람의 이름을 올리려는 식이다.
"A씨~"를 기억하는 부분 등을 참고하세요.
참조 정보: 요약 열의 CONCAT 함수
MySQL로 열 내용을 정리할 때 CONCAT 함수를 사용할 수 있습니다
-- 準備
CREATE TABLE User(id integer, last_name varchar(100), first_name varchar(100));
INSERT INTO User(id, last_name, first_name) VALUES(1, "田中","太郎"),(2, "鈴木","次郎"),(3, "遠藤","三郎");
-- 名前をくっつける
SELECT id, CONCAT(last_name, first_name) FROM User;
-- => 1 田中太郎 など
참고로 숫자형과 문자열형도 결합할 수 있다SELECT CONCAT(id, first_name) FROM User;
-- 1太郎
제목: 전체 모음 열의 GRUPCONCAT 함수이번 경우 여러 줄에 걸쳐 있는 열을 하나로 정리하고 싶어서 CONCAT 함수와 비슷한 GRUPCONCAT 함수를 사용합니다.
GROUP_CONCAT 함수는 GRUPBY와 함께 사용되는 합계 함수로, 합계 열에서 합계 방법을 지정합니다.
통계 함수 이미지
GROUP_CONCAT 함수의 경우 "문자열로 결합"
-- 準備
CREATE TABLE Student(id integer, class varchar(10), name varchar(100));
INSERT INTO Student(id, class, name) VALUES(1, "A", "田中"),(2, "A", "鈴木"),(3, "A", "遠藤");
-- 名前をくっつける
SELECT class, GROUP_CONCAT(name) FROM Student GROUP BY class;
-- class GROUP_CONCAT(name)
-- A 田中,鈴木,遠藤
쉼표의 구분자는 지정할 수 있다SELECT class, GROUP_CONCAT(name SEPARATOR '-') FROM Student GROUP BY class;
-- A 田中-鈴木-遠藤
정렬 순서를 지정할 수도 있습니다.SELECT class, GROUP_CONCAT(name ORDER BY id DESC) FROM Student GROUP BY class;
-- A 遠藤,鈴木,田中
조건식 등도 포함할 수 있다-- 名前をくっつける
SELECT class, GROUP_CONCAT(CASE WHEN NAME = "鈴木" THEN "◯" ELSE "×" END) FROM Student GROUP BY class;
-- A ×,◯,×
전제적인 장소 외에도 다양한 물건을 사용할 수 있으니 꼭 활용하세요.참고 자료
12.19.1 GRUPBY 함수
MySQL 문자열 조합 CONCATGROUP_CONCAT 및 GRUPBY를 통해 여러 데이터 취합
Reference
이 문제에 관하여([MySQL] 여러 기록의 열 내용을 결합하여 획득), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/javano/items/d4f1ab4b1ddae292f841텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)