フィールド データ別の 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 中国語 Web サイトの他の関連記事を参照してください。