Имея структуру, как так:Выберите строки с HAVING после указанной даты
+----+------------+--------+-----------+
| id | date | userid | status |
+----+------------+--------+-----------+
| 1 | 2013-06-05 | 1 | validated |
| 2 | 2013-06-05 | 2 | validated |
| 3 | 2013-06-06 | 2 | pending |
| 4 | 2013-06-07 | 1 | validated |
| 5 | 2013-06-08 | 1 | validated |
| 6 | 2013-06-08 | 1 | validated |
| 7 | 2013-06-09 | 1 | validated |
+----+------------+--------+-----------+
Если я хочу, чтобы выбрать пользователь с 5 проверенных статусов, я могу сделать:
SELECT userid, COUNT(status) as valid
FROM table1
WHERE status="validated"
GROUP BY userid
HAVING valid=5
Теперь я хочу усложнить этот запрос, я хочу выбрать пользователей, у которых есть 5 проверенных строк, начиная с заданной даты:
SELECT userid, COUNT(status) as valid
FROM ladder_offers_actions
WHERE status="validated"
AND date > "2013-06-06"
GROUP BY userid
HAVING valid=5
Это, конечно, будет возвращать 0 пользователей с приведенным выше примером, это потому, что он смотрит только на проверенные записи после 2013-06-06 (4).
Я хочу, чтобы выбрать пользователей, которые имеют только 5 проверенных записей после указанной даты ... Пример:
Пользователь 1 имеет валидированные строки до 2013-06-06 и подтверждено ряд после 2013 года -06-06 - этот пользователь должен быть включен в выбора
пользователя 2 имеет проверенных строк до 2013-06-06 и подтверждено после того, как строка 2013-06-06 - этот пользователь должны быть включены в выборе
пользователя 3 имеет 5 проверенных строк до 2013-06-06 - это пользователь не должно быть включен в избранных.
Пользователь 4 имеет 5 утвержденных строк после 2013-06-06 - этот пользователь должен быть включен в выбор.
Надеюсь, это достаточно ясно, по сути, я хочу, чтобы пользователи имели только 5 проверенных строк после определенной даты, но включают строки до этой даты, если у пользователя еще не было 5 проверенных строк.
Что вы говорите, вы хотите, чтобы пользователи с 5 проверенных строк, по крайней мере, один из которых после указанной даты? – Matt
Просто таблица сама по себе НАСТОЯЩЕЕ СОСТОЯНИЕ – Strawberry