Ограничение количества использований, которое действие имеет каждую неделю

У меня вопрос: как я могу ограничить действия пользователя ограниченное количество раз в неделю?

Мой случай следующий:

У меня есть мои продукты, и я предлагаю каждому пользователю запросить возврат денег, если продукт не подходит. Проблема заключается в том, что многие пользователи злоупотребляют этим действием и отнимают у меня много времени, чтобы проверить каждый продукт и каждого пользователя, который запрашивает возврат, поэтому я хочу ограничить каждого пользователя возможностью запрашивать возврат только 3 раза в неделю, но я не не знаю как.

У меня есть таблица с именем refnds_count, которая выглядит так

ID || userid || product_id || date
----------------------------------
1  || 7      || 9          || 2016-03-9 12:33:22
2  || 7      || 10         || 2016-03-13 14:40:10
3  || 7      || 11         || 2016-03-13 16:42:15

Таким образом, у пользователя с идентификатором 7 уже есть два запроса на возврат средств на этой неделе, и я не знаю, как сравнить эти данные, чтобы увидеть, сделал ли пользователь 3 запроса уже на этой неделе.

-1

Решение

SELECT userid
FROM refunds_count t
WHERE week(now()) = week(t.date)
GROUP BY userid
HAVING COUNT(*) >= 3

Это предоставит список всех пользователей, которые уже сделали 3 возврата на этой неделе.

Вы можете в последний раз фильтровать этих пользователей в вашей системе возврата, что-то вроде

WHERE userid NOT IN(...the query here...)
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]