MySQL을 사용하여 열의 데이터에서 목록을 직접 가져 오기
문제
고양이가 많은 할머니를 다루어야한다고 가정 해 봅시다. 테이블 granny_cat이 있습니다.
granny_id | kitty_name
--------------------
1 Kizzy
1 Jimmy
1 Katty
2 Georges
2 Albert
3 Panther
그리고 나는 할머니 1 고양이 목록을 검색하고 싶다. 즉, (PHP 구문 포함)
array("Kizzy","Jimmy","Katty")
그러나 쿼리
SELECT kitty_name WHERE granny_id = 1
같은 것을 반환합니다
array
(
array('kitty_name' => "Kizzy"),
array('kitty_name' => "Jimmy"),
array('kitty_name' => "Katty")
)
비슷한 쿼리로 두 개 이상의 필드를 가져올 수 있으므로 매우 논리적입니다. 나는 분명히이 배열을 내가 원하는 것을 얻기 위해 매핑 할 수 있지만, MySQL에서 직접 얻을 수있는 (간단한) 방법이 있는지 궁금합니다.
감사.
해결책
SELECT GROUP_CONCAT(kitty_name)
FROM mytable
WHERE granny_id = 1
당신이 할 수있는 쉼표로 지정된 목록을 줄 것입니다 explode
배열로.
MySQL
기본 배열 데이터 유형을 지원하지 않습니다. ~ 안에 PostgreSQL
다음을 수행 할 수 있습니다.
SELECT ARRAY
(
SELECT kitty_name
FROM mytable
WHERE granny_id = 1
) AS kitties
, 그것은 당신에게 원주민을 줄 것입니다 PHP
정렬.
제휴하지 않습니다 StackOverflow