У меня есть таблица со следующими данными:SQL - Получить значение в одном запросе с кратному где положениями
UserName | LastLogin
-------------------------------
User1 | 2010-10-25 10:05:47
User2 | 2010-10-23 11:10:27
User3 | 2010-10-12 05:39:34
User4 | 2010-10-20 12:22:11
User5 | 2010-09-17 08:41:05
Я хочу, чтобы иметь возможность выполнить запрос, чтобы получить число людей, которые вошли в системе в последние 3 дня, последние 7 дней и последние 21 день (я знаю, что эти числа будут перекрываться). Я знаю, что я могу получить каждое конкретное значение, выполнив запрос типа (синтаксиса не может быть 100% правильно):
SELECT COUNT(*)
FROM login
WHERE LastLogin >= DATEDIFF(NOW(), LastLogin, INTERVAL 3 DAY);
Могу ли я выполнить запрос, возвращающее все три значения в одном запросе? Будет ли работать GROUP BY, или я могу использовать вложенные запросы? Так же эффективно запускать запрос три раза с заданным интервалом?