CREATE TABLE table_1 (
`userid` VARCHAR(2),
`date_accessed` DATE,
`rank` INT,
`country` VARCHAR(2)
);
INSERT INTO table_1
(`userid`, `date_accessed`, `rank`, `country`)
VALUES
('A.', '2019-01-01', 1, 'US'),
('B.', '2019-01-02', 1, 'FR'),
('A.', '2019-01-03', 2, 'US'),
('A.', '2019-01-04', 3, 'US'),
('B.', '2019-01-04', 2, 'FR');
Вот скрипка: https://www.db-fiddle.com/f/9F7XPiGtuQAYXQ99HfNJGN/0
А ниже - пример базы данных. Мне нужны все строки, в которых дата записи кратна 7 дням, кроме даты начала. Дата начала и даты записи не уникальны; он будет уникальным для каждой страны, но как в США, так и во Франции, например, даты начала могут быть 1 января, а даты записи - 8 января. В приведенной ниже таблице я хотел бы вытащить строки, где дата начала - 2019-01-01, а дата записи - 2019-01-08, например.
| start_date | num_people | record_date | rating | country |
| ---------- | ---------- | ----------- | ------ | ------- |
| 2019-01-01 | 275 | 2019-01-08 | 4 | FR |
| 2019-01-02 | 150 | 2019-01-10 | 4 | FR |
| 2019-01-03 | 175 | 2019-01-09 | 5 | FR |
| 2019-01-04 | 300 | 2019-01-11 | 2 | FR |
| 2019-01-01 | 100 | 2019-01-08 | 8.5 | US |
| 2019-01-03 | 50 | 2019-01-10 | 5.5 | US |
| 2019-01-03 | 50 | 2019-01-17 | 5 | US |
---
Я хочу это сделать до 84 дней (каждые 7 дней / каждую неделю в течение 12 недель).