表名:測試
| ID | colA | colB |
| | 值5 | 值C |
| | 值4 | 值B |
| | 值3 | 值B |
| | 值2 | 值B |
| | 值1 | 值A |
從我上面的示例。 列(colA)具有唯一值,而列(colB)具有重複值。 分組柱(COLB)查詢將返回唯一值的行從塔(COLB)
SQL:SELECT ID,可樂,COLB測試從GROUP BY COLB 返回:
| ID | colA | colB |
| | 值1 | 值A |
| | 值2 | 值B |
| | 值5 | 值C |
更多更好的解釋請https://www.w3schools.com/sql/sql_groupby.asp
$DataFromDatabase = [ ['id' => 1,
'colA' => "value 1",
'colB' => "value A"
],
['id' => 2,
'colA' => "value 2",
'colB' => "value B"
],
['id' => 3,
'colA' => "value 3",
'colB' => "value B"
],
['id' => 4,
'colA' => "value 4",
'colB' => "value B"
],
['id' => 5,
'colA' => "value 5",
'colB' => "value C"
]
];
echo "Data FROM database<br/>";
echo "<pre>"; print_r($DataFromDatabase); echo "</pre>";
//Unique Array $UniqueArray = [];
//Loop the Database result
foreach($DataFromDatabase AS $data){
//Make the unique value your key for your array
$UniqueArray[$data['colB']][] = ['id' => $data['id'],
'colA' => $data['colA']
];
}
echo "Unique Array<br/>";
echo "<pre>";
print_r($UniqueArray);
echo "</pre>";
您uniqueArray的結果將是 是這樣的:
Array
(
[value A] => Array
(
[0] => Array
(
[id] => 1
[colA] => value 1
)
)
[value B] => Array
(
[0] => Array
(
[id] => 2
[colA] => value 2
)
[1] => Array
(
[id] => 3
[colA] => value 3
)
[2] => Array
(
[id] => 4
[colA] => value 4
)
)
[value C] => Array
(
[0] => Array
(
[id] => 5
[colA] => value 5
)
)
)
值堆疊在每個唯一列(colB)值上。 它現在取決於你如何打印你的陣列的價值
你會請更新您的問題與當前outputand什麼是你想要的輸出,因爲我有點困惑與你的問題 –
@BunkerBoy添加了一個圖像。如果你檢查它。它不斷重複,這就是爲什麼它不能很好地對齊。 –