select username, count(distinct product) from events where username in $user_string and gmtdatetime >= '$min_date' and gmtdatetime < '$max_date' group by username; #### select username, product, from events where username in $user_string and gmtdatetime >= '$min_date' and gmtdatetime < '$max_date' #### while(my @row = $res->fetchrow_array()) { my ($username, $product) = @row; # mark product as used if(!exists($agency_products{$user_agency{$username}}{$product})) { $agency_products{$user_agency{$username}}{$product} = 1; $user_products{$username}{$product} = 1; } } #### foreach my $i_user (keys(%stats)) { $stats{$i_user}{'UNIQUE_PRODUCTS'} = keys(%{$user_products{$i_user}}); }