Я пишу запрос на выборку, чтобы получить количество строк с DISTINCT, где месяц вставленной даты совпадает с текущим месяцем.
Мой запрос на выбор:
SELECT count(DISTINCT villageid) AS villages_visited
FROM indexcard
WHERE strftime('%Y',visiteddate) = strftime('%Y',date('now')) AND
strftime('%m',visiteddate) = strftime('%m',date('now'))
Приведенный выше запрос на выборку дает мне правильный результат, только если одна деревня посещается только раз в месяц. Но есть возможность, что пользователь может посещать одну и ту же деревню максимум два раза в месяц.
Это грубая структура моей таблицы:
indexcard_no villageid visiteddate
1 1 15/12/2018
2 1 15/12/2018
3 1 15/12/2018
4 2 16/12/2018
5 2 16/12/2018
6 1 30/12/2018
7 1 30/12/2018
Теперь результат, который я хочу получить, - это значение villageid за месяц = 12, должно быть 3. Но мой запрос на выборку дает count = 2 как iam, используя DISTINCT.