微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

检查数据库是否包含两个年龄相同的人并打印出来

如何解决检查数据库是否包含两个年龄相同的人并打印出来

我在数据库中有很多同龄人,我想打印同龄人例如:

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

Demo on db-fiddle

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。