我正在使用PHP / MySQL预订系统,并且正在使用Google折线图来尝试显示当月以及前三个月的销售总额。

每个预订都有一个标准phpmyadmin“ date”格式的日期,因此为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 MONTHNAME(booking_date)='July' and YEAR(booking_date)=2013;


要么:

Select * from bookings where MONTH(booking_date)=7 and YEAR(booking_date)=2013;


另外,由于您已经有了月份,因此可以执行此操作(此方法要求您维护每个月的结束日期表,但这是对for年的补偿):

select * from bookings where booking_date>'2013-06-30' AND booking_date<'2013-08-01';

07-24 09:37
查看更多