Ever tried to count for a number of entries and figured out that the opposite/control query does not provide a fitting number? Maybe you forgot about the fact, that you have selected multiple entries per id. You can easily adapt your query to count only unique entries.
I have also added this to my github howtos, fork for free ;-). sql count function with examples
SELECT COUNT(DISTINCT `my_table`.`my_column`) FROM `my_table` AS `t` [ LEFT JOIN `my_second_table` AS `t2` ON (`t`.`id` = `t2`.`my_table_id` AND `t2`.`is_online` = 1) ] [ WHERE `t`.`my_column` = 'my_value` ]