问题描述
我在数据库中有很多同龄人,我想打印同龄人例如:
Table people:
Name Age
Gessica 12
Alice 12
Max 12
Jack 34
Federica 23
现在我要打印:
Age:12 Gessica,Alice,Max
Age:34 Jack
Age:23 Federica
我使用 PHP 并尝试 pg_fetch_array 函数:
$query = pg_query($conn1,$query_impiegati);
$people=array('Gessica','Alice','Max','Jack','Federica');
while($row = pg_fetch_array($query)) {
$results[] = array('Name'=>$row['Name'],'Age'=>$row['Age'] );
for($i=0;i<count($results);$i++){
for($j=0;j<count($masioni);$i++){
if($people[j]==results['Age'][i]){
echo $row["Age"];
echo $row["Name"]<br>';
}
}
}
}
解决方法
您可以在查询中进行此聚合:
SELECT Age,STRING_AGG(Name,',') AS Names
FROM people
GROUP BY Age
ORDER BY Age
输出:
Age Names
12 Gessica,Alice,Max
23 Federica
34 Jack