Você precisa agrupar por cada peça que pode ser diferente. Então adicione
MONTH(Date)
e até YEAR(Date)
dependendo do escopo de sua consulta. select DAY(Date), count(*) from Posts WHERE shopID != '' group by shopID, YEAR(Date), MONTH(Date), DAY(Date)