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中文網其他相關文章!