Если вы хотите подсчитать только общее количество отдельных посещений, включая несколько посещений в одну и ту же дату, вы можете использовать:
SELECT [Name],
COUNT(*) AS Count_Dates
FROM MyTable
GROUP BY [Name]
Однако, если вы не хотите считать несколько посещений в одну и ту же дату, вы можете использовать следующее:
SELECT [Name],
COUNT(*) AS Count_Dates
FROM
(
SELECT DISTINCT [Name],
[Date]
FROM MyTable
) a
GROUP BY [Name]
Это покажет вам распределение всех людей, которые посещали x раз в день. Тем не менее, это не будет отображать числа для подсчета, где 0 человек посетили столько раз - например, если никто не посещал 8 раз, тогда не будет строки для Count_Dates = 8. Если вы хотите отобразить полный список из 0 -10 посещений, вы можете создать временную таблицу Count_Dates и вставить значения от 0 до 10, а затем использовать ее как часть основного запроса.
SELECT Count_Dates,
COUNT(*) AS Count_Visitors
FROM (SELECT [Name], COUNT(DISTINCT [Date]) AS Count_Dates FROM MyTable GROUP BY [Name]) a
GROUP BY Count_Dates
ORDER BY Count_Dates