필드 데이터별 MySQL 그룹 결과: 복잡한 데이터 조작을 위한 솔루션 탐색
이 기사에서는 그룹화 및 표시 문제에 대해 자세히 알아봅니다. 특정 필드 데이터를 기반으로 한 MySQL 데이터베이스의 결과입니다. 구체적으로 우리는 데이터베이스가 다음과 유사한 시나리오를 해결하는 것을 목표로 합니다.
ID Group Name 1 1 John 2 1 Andrea 3 1 Jack 4 2 Mike 5 2 Kurt 6 3 Alice
원래 문제: 단일 필드로 그룹화
초기 요구 사항은 다음과 같습니다. 데이터를 "그룹" 필드별로 그룹화하여 표 형식으로 표시합니다:
Group Name ----------------------- 1 John Andrea Jack ----------------------- 2 Mike Kurt ----------------------- 3 Alice -----------------------
해결책:
<code class="sql">SELECT p.Group as 'group', GROUP_CONCAT(name) as names FROM prueba p GROUP BY p.Group</code>
<code class="php">$result = $dbc->query(" SELECT p.Group as 'group', GROUP_CONCAT(name) as names FROM prueba p GROUP BY p.Group "); echo "<table border='1'><tr><th>Group</th><th>Name</th></tr>"; while($row = $result->fetch_assoc()){ $names = split(",",$row["names"]); echo "<tr><td rowspan='".count($names)."'>".$row["group"]."</td><td>".$names[0]."</td></tr>"; array_shift($names); foreach($names as $name){ echo "<tr><td> </td><td>".$name."</td></tr>"; } } echo "</table>";</code>
고급 문제: 여러 필드로 그룹화
각 그룹과 관련된 추가 데이터와 함께 그룹화를 위해 여러 필드를 도입하면 문제가 더욱 복잡해집니다. 예를 들어 다음 데이터베이스를 고려해 보세요.
ID meta_key meta_value name 1 group 1 John 2 group 1 Andrea 3 group 1 Jack 4 group 2 Mike 5 group 2 Kurt 6 group 3 Alice
위 내용은 여러 필드별로 MySQL 결과를 그룹화하고 관련 데이터를 표시하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!