"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > MySQL에서 교차 테이블 테이블을 동적으로 만드는 방법은 무엇입니까?

MySQL에서 교차 테이블 테이블을 동적으로 만드는 방법은 무엇입니까?

2025-03-22에 게시되었습니다
검색:914

How to Dynamically Create Cross-Tabulated Tables in MySQL?

mysql dynamic cross 탭

문제 :

솔루션 :

피벗 쿼리의 열 수는 쿼리 준비 시간에 정의되어야합니다. 동적 교차 테이블을 달성하려면 응용 프로그램 코드를 작성하는 두 가지 옵션이 있습니다. 각각의 별개의 차원 값에 대한 최대 시간을 나타냅니다.

    SQL 조각을 쉼표를 사용하여 단일 쿼리 문자열에 가입합니다. ($ pdo-> query ( ""mytable '에서 way wone ")을 $ 행으로 선택하십시오) { $ way = (int) $ row
  1. ; $ way_array [] = "max (if (way` = $ way,`time`)) as way_ $ way"; } $ pivotsql = "정지를 선택하십시오". 가입 ( ",", $ way_array). "`mytable 'Group by` stop`"; 키.
  2. 는 두 번째 차원 값 (예 : "way")을 포함하는 서브 어레이로 키와 시간 값을 값으로 값으로 채 웁니다.
  3. 예 :

$ stoparray = array (); foreach ($ pdo-> query ( "select * from`mytable`") as $ row) { $ stopkey = $ 행
foreach ($pdo->query("SELECT DISTINCT `way` FROM `MyTable`") as $row) {
  $way = (int) $row["way"];
  $way_array[] = "MAX(IF(`way`=$way, `time`)) AS way_$way";
}
$pivotsql = "SELECT stop, " . join(", ", $way_array) .
   "FROM `MyTable` GROUP BY `stop`";
; }

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3