반응형
MYSQL에 두 개의 테이블이 있는데 MYSQL에 array_agg () FROM postgreSQL로 집계 함수가 있는지 궁금합니다.
표 1 속성에는 8 개의 레코드 만 있습니다. 표 2는 속성을 캡처 한 사람을 기록하므로 동일한 속성에 대해 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 부분을 사용하면 다음과 같이 표시됩니다.
id uid
200 1
202 1
211 1
215 10 ...
users_admin_id의 첫 번째 값이 아닌 다른 데이터가 손실됩니다. postgreSQL의 array_agg () 함수를 사용하여 원하는 결과를 얻을 수 있다는 것을 알고 있지만 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 JOIN을 시도했습니다 ... 운이 없습니다 ... 포인터가 있습니까?
업데이트
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;
참조 페이지 https://stackoverflow.com/questions/39030090
반응형
'MySql' 카테고리의 다른 글
MySQL OSX에 Python 2.6 용 MySQLdb 설치 (0) | 2020.11.03 |
---|---|
MySQL-UNION ALL 및 GROUP BY로 검색 (0) | 2020.11.03 |
MySQL # 1044- 'somedb'데이터베이스에 대한 사용자 'someusr'@ 'localhost'의 액세스가 거부되었습니다. (0) | 2020.11.03 |
MySQL 서로 다른 데이터베이스 간의 MySQL InnoDB 외래 키 (0) | 2020.11.03 |
MySQL [Docker] : MySQL에 PHPMyAdmin 연결이 작동하지 않음 (0) | 2020.11.03 |
댓글