我使用的是PHP/MySQL预订系统,我使用Google折线图来尝试显示当月的总销售额以及前3个月个月。MySQL:从当前月份和前3个月返回记录
每个预订都有标准phpmyadmin“日期”格式的日期,所以yyyy:mm:dd。
因此,即时查找从4个查询中获得4个结果,每个查询筛选出某个月并获取该月份每个预订的总和。
我的问题是,我如何区分查询中的月份?我将如何构建查询?
我使用的是PHP/MySQL预订系统,我使用Google折线图来尝试显示当月的总销售额以及前3个月个月。MySQL:从当前月份和前3个月返回记录
每个预订都有标准phpmyadmin“日期”格式的日期,所以yyyy:mm:dd。
因此,即时查找从4个查询中获得4个结果,每个查询筛选出某个月并获取该月份每个预订的总和。
我的问题是,我如何区分查询中的月份?我将如何构建查询?
基于标题:
select * from bookings where MONTH(CURDATE())=MONTH(booking_date);
select * from bookings where MONTH(booking_date) > MONTH(CURDATE()-INTERVAL 3 MONTH) and < MONTH(CURDATE() + INTERVAL 1 MONTH);
对于简单逐月搜索,你可以使用以下命令:此外,由于你已经
Select * from bookings where MONTH(booking_date)=7 and YEAR(booking_date)=2013;
:
Select * from bookings where MONTHNAME(booking_date)='July' and YEAR(booking_date)=2013;
或者得到了几个月,你可以做到这一点(这种方法要求你维护每个月的结束日期表格以补偿fo [R闰年虽然):
select * from bookings where booking_date>'2013-06-30' AND booking_date<'2013-08-01';
排在首位,原谅我的英语....
我知道这是旧线和无法评论,但@AbsoluteƵERØ,这个问题的答案适用于当前月份,例如,如果我得到了七月记录2013-2014-2015,查询将返回在该月的记录那些年....为了避免和使用发布的代码:
SELECT * FROM bookings WHERE MONTH(CURDATE()) = MONTH(booking_date) AND YEAR(CURDATE()) = YEAR(booking_date);
注意:如果使用“名称表格”并指定年份,则没有问题,如下所示:
SELECT * FROM bookings WHERE MONTH(CURDATE()) = MONTH(booking_date) AND YEAR(booking_date) = 2013;
示例查询和示例代码? –
该表仅包含预订,日期和费用。我只需要根据查询中输入的月份来获取预订,但我不知道如何构建查询。 – OllyBarca