· 8 years ago · Jul 14, 2018, 05:42 PM
1drop table if exists foo;
2
3create table foo
4(
5id int unsigned not null auto_increment primary key,
6created_date datetime not null,
7day_idx int unsigned not null,
8key foo_day_idx(day_idx),
9key created_date_idx(created_date)
10);
11
12insert into foo (created_date, day_idx) values (date_sub(now(), interval 2 month), to_days(date_sub(now(), interval 2 month)));
13insert into foo (created_date, day_idx) values (date_sub(now(), interval 1 month), to_days(date_sub(now(), interval 1 month)));
14insert into foo (created_date, day_idx) values (now(), to_days(now()));
15insert into foo (created_date, day_idx) values (date_add(now(), interval 1 month), to_days(date_add(now(), interval 1 month)));
16insert into foo (created_date, day_idx) values (date_add(now(), interval 2 month), to_days(date_add(now(), interval 2 month)));
17
18select
19 *
20from
21 foo
22where
23 day_idx >= to_days(now());
24
25select
26 *
27from
28 foo
29where
30 created_date >= curdate();