SELECT DISTINCT users, events, dates
FROM table
WHERE dates between date_format(date1, '%Y-%m-%d')
and date_format(date2, '%Y-%m-%d') or NOW() or CURDATE()....
and user = 'username'
这很笼统,但是如果您替换名称和日期(可能不需要为您的目的进行格式化),这将返回所有结果,无论空占位符如何
您可以填充 date_reference_table ...这是为此存储的过程:
我使用日期格式仅识别年份和月份,但您可以更改它...
然后你还需要一个内部连接......所以你会在 date_reference 表上做一个内部连接,它会吐出上面评论中提到的结果。
分隔符 $$
CREATE PROCEDURE `generate_date_reference_table`(d1 date, d2 date)
BEGIN
declare d datetime;
create table BLMBP.date_reference (d char(7) not null);
set d = d1;
while d <= d2 do
insert into BLMBP.date_reference (d) values (date_format(d, '%Y-%m'));
set d = date_add(d, interval 1 month);
end while;
END$$