Трябва да групирате по всяко парче, което може да е различно. Така че добавете MONTH(Date)
и дори YEAR(Date)
в зависимост от обхвата на вашата заявка.
select DAY(Date), count(*) from Posts WHERE shopID != '' group by shopID, YEAR(Date), MONTH(Date), DAY(Date)