#!/usr/bin/perl
{
use strict;
use DBI();

# Connect to the database.
my $dbh = DBI->connect("DBI:mysql:database=zimdb;host=localhost",
                      "root", "shit696", {'RaiseError' => 1});

# Drop table 'foo'. This may fail, if 'foo' doesn't exist.
# Thus we put an eval around it.
#       eval { $dbh->do("DROP TABLE foo") };
#       print "Dropping foo failed: $@\n" if $@;

# Create a new table 'foo'. This must not fail, thus we don't
# catch errors.
#       $dbh->do("CREATE TABLE foo (id INTEGER, name VARCHAR(20))");

# INSERT some data into 'foo'. We are using $dbh->quote() for
# quoting the name.
#       $dbh->do("INSERT INTO foo VALUES (1, " . $dbh->quote("Tim") . ")");

# Same thing, but using placeholders
#$dbh->do("INSERT INTO foo VALUES (?, ?)", undef, 2, "Jochen");

# Now retrieve data from the table.
my $sth = $dbh->prepare("SELECT * FROM rettst");
$sth->execute();
 while (my $ref = $sth->fetchrow_hashref()) {
#    print "Found a row: id = $ref->{'id'}, date = $ref->{'date'}, descript = $ref->{'descript'}, amt = $ref->{'amt'}\n";
printf("%s\t%s\t%s\t%s\t%7.2f\n",$ref->{'id'},$ref->{'date'},$ref->{'tcode'},$ref->{'descript'},$ref->{'amt'});
}
printf("\n");
# Now retrieve data from the table.
my $sth = $dbh->prepare("SELECT id, date, tcode, descript, sum(amt) as x FROM rettst group by date");
$sth->execute();
 while (my $ref = $sth->fetchrow_hashref()) {
#    print "Found a row: id = $ref->{'id'}, date = $ref->{'date'}, descript = $ref->{'descript'}, amt = $ref->{'x'}\n";
printf("%s\t%s\t%s\t%s\t%7.2f\n",$ref->{'id'},$ref->{'date'},$ref->{'tcode'},$ref->{'descript'},$ref->{'x'});
}
       $sth->finish();

       # Disconnect from the database.
       $dbh->disconnect();

}
