有没有办法查询在 perl 中作为数组可用的 psql 查询结果?
我正在接收存储在数组中的查询结果。我想对类型(查询结果列之一)进行选择不同的计数。
查询结果有这些列:id、name、type、created_at。
我想按类型对结果进行分组,并找出每种类型的数量。
循环是唯一的选择吗?这可能吗?
有没有办法查询在 perl 中作为数组可用的 psql 查询结果?
我正在接收存储在数组中的查询结果。我想对类型(查询结果列之一)进行选择不同的计数。
查询结果有这些列:id、name、type、created_at。
我想按类型对结果进行分组,并找出每种类型的数量。
循环是唯一的选择吗?这可能吗?
什么样的数组?您希望将整个结果集作为 arrayrefs 列表吗?哈希引用列表?您想要单行作为列表吗?单行作为hashref?
通常最简单的方法是循环遍历:
my @results;
while (my $ref = $sth->fetchrow_hashref('NAME_lc')){
# add some processing here
push @results, $ref;
}
我通常这样做是因为如果你想对 hashref 进行任何处理,它会更干净一些。但是,您也可以:
my @results = $sth->fetchall_hashref('NAME_lc');
如果您确定不想处理,这将特别有用。