my $sth_prepare = $dbh1->prepare("select datestamp, count(id) from userlog group by substring(datestamp,1,10) order by datestamp asc limit 0,12"); $sth_prepare->execute() or die $DBI::errstr; my $day_now; my $day_old; my $dif = 1; my @dif_array = (); while (my @arr2 = $sth_prepare->fetchrow_array()) { $day_now = substr($arr2[0],8,2); $dif = $day_now - $day_old; push @dif_array, $dif; for (@dif_array) { push @array, 0 if $_>1; } push @array, $arr2[1]; $day_old = $day_now; }