ID | Message | date_added
1 | 10 | 2021-08-06
2 | 15 | 2021-08-06
3 | 20 | 2021-08-06
1 | 25 | 2021-08-07
2 | 30 | 2021-08-07
3 | 45 | 2021-08-07
1 | 40 | 2021-08-08
2 | 55 | 2021-08-08
3 | 60 | 2021-08-08
1 | 40 | 2021-08-09
2 | 60 | 2021-08-09
3 | 80 | 2021-08-09
4 | 40 | 2021-08-09ID | Message
1 | 0
2 | 5
3 | 20
SELECT VERSION();. CREATE TABLE `usershema`.`daily_exp_snapshots` (
`id` INT NOT NULL AUTO_INCREMENT,
`GuildID` BIGINT NOT NULL,
`UserID` BIGINT NOT NULL,
`CountMessage` INT NOT NULL,
`date_added` DATETIME NOT NULL,
PRIMARY KEY (`id`));
INSERT INTO `daily_exp_snapshots` VALUES (1,801843238046269450,852772617491841036,10,'2021-09-08 17:24:16'),(2,801843238046269450,525300190521851917,15,'2021-09-08 17:24:16'),(3,801843238046269450,525300849082105856,20,'2021-09-08 17:24:16'),(4,801843238046269450,489183183074754582,18,'2021-09-08 17:25:45'),(5,801843238046269450,852772617491841036,19,'2021-09-09 17:26:39'),(6,801843238046269450,525300190521851917,45,'2021-09-09 17:26:39'),(7,801843238046269450,525300849082105856,30,'2021-09-09 17:26:39'),(8,801843238046269450,489183183074754582,27,'2021-09-09 17:26:54');
INSERT INTO `daily_exp_snapshots` VALUES (1,801843238046269450,852772617491841036,10,'2021-09-08 17:24:16'),(2,801843238046269450,525300190521851917,15,'2021-09-08 17:24:16'),(3,801843238046269450,525300849082105856,20,'2021-09-08 17:24:16'),(4,801843238046269450,489183183074754582,18,'2021-09-08 17:25:45'),(5,801843238046269450,852772617491841036,19,'2021-09-09 17:26:39'),(6,801843238046269450,525300190521851917,45,'2021-09-09 17:26:39'),(7,801843238046269450,525300849082105856,30,'2021-09-09 17:26:39');
INSERT INTO `daily_exp_snapshots` VALUES (1,801843238046269450,852772617491841036,10,'2021-09-08 17:24:16'),(2,801843238046269450,525300190521851917,15,'2021-09-08 17:24:16'),(3,801843238046269450,525300849082105856,20,'2021-09-08 17:24:16'),(4,801843238046269450,852772617491841036,19,'2021-09-09 17:26:39'),(5,801843238046269450,525300190521851917,45,'2021-09-09 17:26:39'),(6,801843238046269450,525300849082105856,30,'2021-09-09 17:26:39'),(7,801843238046269450,489183183074754582,27,'2021-09-09 17:26:54');
Нужно выводить только тогда, когда есть запись и за сегодня и за вчера, остальные не выводить.
SELECT UserID, t1.CountMessage-t2.CountMessage
FROM daily_exp_snapshots t1
JOIN daily_exp_snapshots t2 USING (UserID)
WHERE t1.date_added >= CURRENT_DATE
AND t1.date_added < CURRENT_DATE + INTERVAL 1 DAY
AND t2.date_added >= CURRENT_DATE - INTERVAL 1 DAY
AND t2.date_added < CURRENT_DATE если я хочу получить разницу между записью на дату запроса и записью, сделанную 7 дней назад (по дате) что нужно поменять в этом запросе?
...
AND t2.date_added >= CURRENT_DATE - INTERVAL 7 DAY
AND t2.date_added < CURRENT_DATE - INTERVAL 6 DAYЕсли в какой то день (из этого промежутка) записи не было то не выводить, ждать пока будет 7 дней подряд.
SELECT UserID, t1.CountMessage-t2.CountMessage
FROM daily_exp_snapshots t1
JOIN daily_exp_snapshots t2 USING (UserID)
WHERE t1.date_added >= CURRENT_DATE
AND t1.date_added < CURRENT_DATE + INTERVAL 1 DAY
AND t2.date_added >= CURRENT_DATE - INTERVAL 1 DAY
AND t2.date_added < CURRENT_DATE