У меня есть система подсчета голосов, каждый пользователь может оценивать любой продукт каждый день (максимум 10 баллов в день, но они могут использовать один и тот же продукт каждый день).
Схема для моего голосованияТаблица выглядит следующим образом: Проголосовать: ID, идентификатор_пользователя, идентификатор_продукта, оценка, дата.
Что я хотел бы сделать, это не только получить общий балл и количество отдельных голосов (так что я могу выработатьв среднем) , но также получают уникальное количество избирателей (DISTINCT user_id's) в текущем периоде времени (в данном примере - месяц).Текущий запрос у меня:
SELECT
SUM(`Vote`.`score`) AS `score`,
COUNT(*) AS `votes`,
CONCAT(YEAR(`Vote`.`date`), '-', MONTH(Vote.date)) AS `month`
FROM
`votes` AS `Vote`
WHERE
`product_id` = 4
GROUP BY
month
ORDER BY `Vote`.`date` DESC
Заранее спасибо.