Я не знаю, что вы пытаетесь выполнить sh, санитарный запрос помогает лишь незначительно, но вы не можете использовать счетчик (как вы заметили, но вы можете сделать базовый SELECT, который даст вам желаемый результат.
insert into table_a(id, date, product)
select id, date, count(product)
from table_b
group by id, date
on duplicate key update product =
(SELECT COUNT(product) FROM table_b WHERE id = VALUES(id) GROUP BY id, date LIMIt 1) t1
Это, конечно, только пример того, как вы можете делать то, что хотите, но, конечно, вы должны приспосабливаться к вашим потребностям