mysql-databaseにフィールドを持つテーブルがあります
「名前」、「タイトル」、「cd_id」、「トラック」
エントリは次のようになります。
シューベルト| シンフォニーNr7| 27 | 2 ブラームス| シンフォニーNr1| 11 | 4 ブラームス| シンフォニーNr2| 27 | 4 ショスタコーヴィチ| ジャズ組曲第1番| 19 | 3
CDごとのトラック(cd_id)を取得するには、次のスクリプトを作成しました。
#!/usr/bin/env perl
use warnings; use strict;
use DBI;
my $dbh = DBI->connect(
"DBI:mysql:database=my_db;",
'user', 'passwd', { RaiseError => 1 } );
my $select_query = "SELECT cd_id, tracks FROM my_table";
my $sth = $dbh->prepare( $select_query );
$sth->execute;
my %hash;
while ( my $row = $sth->fetchrow_hashref ) {
$hash{"$row->{cd_id}"} += $row->{tracks};
}
print "$_ : $hash{$_}\n" for sort { $a <=> $b } keys %hash;
適切な選択クエリを使用してこれらの結果を直接取得することは可能ですか?