Это просто за два дня, но если вы хотите рассчитать за месяц, вы должны использовать пользовательские переменные.
Редактировать: для текущего месяца
SELECT
COUNT(user_id)
FROM
(SELECT
user_id
FROM
(SELECT `user_id`, `login_time` FROM user_login
WHERE `login_time` BETWEEN CONCAT(YEAR(NOW()),'-',MONTH(NOW()),'-15')
AND CONCAT(YEAR(NOW()),'-',MONTH(NOW()),'-16'
GROUP BY `user_id`, `login_time`)
user_login)
GROUP By user_id
HAVING COUNT( user_id) = 2) a
CREATE TABLE user_login (
`user_id` INTEGER,
`login_time` date
);
INSERT INTO user_login
(`user_id`, `login_time`)
VALUES
('1234', '2019-04-15'),
('1456', '2019-04-15'),
('1456', '2019-04-15'),
('1234', '2019-04-16'),
('1456', '2019-04-17');
✓
✓
SELECT
COUNT(user_id)
FROM
(SELECT
user_id
FROM
(SELECT `user_id`, `login_time` FROM user_login
WHERE `login_time` BETWEEN '2019-04-15' AND '2019-04-16' GROUP BY `user_id`, `login_time`)
user_login
GROUP By user_id
HAVING COUNT( user_id) = 2) a
| COUNT(user_id) |
| -------------: |
| 1 |
дБ <> скрипка здесь