Postgre와 같은 MYSQL 배열 Aggregate 함수SQL array_agg
MYSQL에 대한 표가 두 개 있는데, mYSQL에 array_agg() FROM postgre와 같이 aggregate 함수가 있는지 궁금합니다.SQL 입니다.
표 1 속성 속성을 캡처한 레코드는 8개뿐입니다. 따라서 동일한 속성에 대해 1회 또는 n회가 될 수도 있으며, 이 Qry를 받았습니다.
SELECT p.id, pcb.users_admin_id as uid
FROM properties p
INNER JOIN prop_captured_by pcb ON p.id = pcb.property_id
-- GROUP BY p.id
id uid
200 1
200 80
202 1
202 80
211 1
211 10
211 81
215 10 ...
GROUP by part를 사용하면 다음과 같은 결과를 얻을 수 있습니다.
id uid
200 1
202 1
211 1
215 10 ...
users_admin_id에 대한 첫 번째 값 이외의 다른 데이터가 손실됩니다.postgre의 array_agg() 함수로 원하는 결과를 얻을 수 있다는 것을 알고 있습니다.SQL인데 MYSQL에서 어떻게 하는지 모르겠어요.
이것이 나의 욕망입니다 결과:
id uid
200 1,80 //an array, I don't mind about the separator, could be anything.
202 1,80
211 1,10,81
215 10 ...
UNION, GROUP BY, INNER JOUNE을 시도했지만 운이 없었습니다.조언 좀 해주세요.
갱신하다
저는 이 남자의 많은 관계를 이용하고 있습니다.다른 사람에게 유용하기를 바랍니다.세 번째 테이블에서 사용자 이름을 추가해야 했기 때문에 최종 쿼리는 다음과 같습니다.
SELECT p.id, group_concat(pcb.users_admin_id) as uid, group_concat(ua.name) as uin
FROM properties p
INNER JOIN prop_captured_by pcb ON p.id = pcb.property_id
INNER JOIN users_admin ua ON ua.id = pcb.users_admin_id
group by p.id;
사용하고 싶으십니다.GROUP_CONCAT()
맘에 들다
SELECT p.id, group_concat(pcb.users_admin_id) as uid
FROM properties p
INNER JOIN prop_captured_by pcb
ON p.id = pcb.property_id
group by p.id;
MySQL 5.7.22 도입JSON_ARRAYAGG()
그리고.JSON_OBJECTAGG()
. 사용자 이름도 원하므로 후자를 사용할 수 있습니다.
SELECT p.id, JSON_OBJECTAGG(pcb.users_admin_id, ua.name) as uin
FROM properties p
INNER JOIN prop_captured_by pcb ON p.id = pcb.property_id
INNER JOIN users_admin ua ON ua.id = pcb.users_admin_id
group by p.id;
당신이 원하는 것 같아요.group_concat()
:
SELECT p.id, GROUP_CONCAT(pcb.users_admin_id) as uids
FROM properties p INNER JOIN
prop_captured_by pcb
ON p.id = pcb.property_id
GROUP BY p.id;
이렇게 하면 쉼표로 구분된 문자열이 생성되지만 MySQL에서 얻을 수 있는 배열과 유사합니다.
언급URL : https://stackoverflow.com/questions/39030090/mysql-array-aggregate-function-like-postgresql-array-agg
'programing' 카테고리의 다른 글
Twitter Bootstrap 3의 IE8 이슈 (0) | 2023.10.03 |
---|---|
j페이지 레이아웃의 공간을 보존하는 동안 요소를 숨깁니다. (0) | 2023.10.03 |
JQuery에서 URL 해시/히스토리를 수행하기에 가장 좋은 라이브러리는 무엇입니까? (0) | 2023.10.03 |
컨트롤러에서 서비스 변수가 업데이트되지 않음 (0) | 2023.10.03 |
PowerShell의 생성자 체인링 - 같은 클래스의 다른 생성자 호출 (0) | 2023.10.03 |