$ cat 11106779.pl
####
use strict;
use warnings;
use DBI;
my @AoH = ({
targetL => 'foisonnement',
origin => 'AMG',
count => '1',
}, {
targetL => 'foisonnement',
origin => 'IDBR',
count => '1',
}, {
origin => 'IWWF',
targetL => 'gonfler',
count => '1',
}, {
origin => 'IWWF',
targetL => 'due',
count => '1',
}, {
origin => 'IWWF',
targetL => 'due',
count => '1',
});
my $dbh = DBI->connect('dbi:SQLite:dbname=11106779.db','','', { RaiseError => 1 });
$dbh->do('create table data(targetL varchar(32), origin varchar(16))');
my $sql = 'insert into data (targetL, origin) values (?, ?)';
my $sth = $dbh->prepare($sql);
$sth->execute($_->{targetL}, $_->{origin}) for @AoH;
__END__
####
$ perl 11106779.pl
####
$ sqlite3 11106779.db
####
SQLite version 3.24.0 2018-06-04 14:10:15
Enter ".help" for usage hints.
sqlite> .headers on
sqlite> select origin, targetL, count(origin) count from data group by origin, targetL order by count desc;
origin|targetL |count
IWWF |due |2
AMG |foisonnement|1
IDBR |foisonnement|1
IWWF |gonfler |1