表名:测试
| 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添加了一个图像。如果你检查它。它不断重复,这就是为什么它不能很好地对齐。 –