\------------------原文: http://blog.csdn.net/u012157032/article/details/73658155
下面的ew在實際項目中我因為框架的原因我用了o,
所以按具體情況而定, 如果查詢昨天的數據的話就減一,如:
$sql .= " AND date(o.date_added) = curdate()-1";
--------------查"當天"的數據-----------------
SELECT ew.orderid, ew.carid, ew.userid, ew.`status`, ew.reservetime, ew.starttime, ew.endtime, ew.canceltime, eu.nickname, ec.plateid FROM evlib_workorder ew LEFT JOIN evlib_user eu ON eu.userid = ew.userid LEFT JOIN evlib_car ec ON ec.carid = ew.carid WHERE date(ew.reservetime) = curdate() ORDER BY ew.reservetime DESC;
--------------查"上周"的數據-----------------
SELECT ew.orderid, ew.carid, ew.userid, ew.`status`, ew.reservetime, ew.starttime, ew.endtime, ew.canceltime, eu.nickname, ec.plateid FROM evlib_workorder ew LEFT JOIN evlib_user eu ON eu.userid = ew.userid LEFT JOIN evlib_car ec ON ec.carid = ew.carid WHERE YEARWEEK(date_format(ew.reservetime, '%Y-%m-%d')) = YEARWEEK(now()) - 1 ORDER BY ew.reservetime DESC;
--------------查"本周"的數據-----------------
SELECT ew.orderid, ew.carid, ew.userid, ew.`status`, ew.reservetime, ew.starttime, ew.endtime, ew.canceltime, eu.nickname, ec.plateid FROM evlib_workorder ew LEFT JOIN evlib_user eu ON eu.userid = ew.userid LEFT JOIN evlib_car ec ON ec.carid = ew.carid WHERE YEARWEEK(date_format(ew.reservetime, '%Y-%m-%d')) = YEARWEEK(now()) ORDER BY ew.reservetime DESC;
--------------查"本月""當前月"的數據-----------------
SELECT ew.orderid, ew.carid, ew.userid, ew.`status`, ew.reservetime, ew.starttime, ew.endtime, ew.canceltime, eu.nickname, ec.plateid FROM evlib_workorder ew LEFT JOIN evlib_user eu ON eu.userid = ew.userid LEFT JOIN evlib_car ec ON ec.carid = ew.carid WHERE date_format(ew.reservetime,'%Y-%m')=date_format(now(),'%Y-%m') ORDER BY ew.reservetime DESC;
--------------查"上個月"的數據-----------------
SELECT ew.orderid, ew.carid, ew.userid, ew.`status`, ew.reservetime, ew.starttime, ew.endtime, ew.canceltime, eu.nickname, ec.plateid FROM evlib_workorder ew LEFT JOIN evlib_user eu ON eu.userid = ew.userid LEFT JOIN evlib_car ec ON ec.carid = ew.carid WHERE date_format(ew.reservetime,'%Y-%m')=date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m') ORDER BY ew.reservetime DESC;
--------------查"距離當前現在6個月"的數據-----------------
SELECT ew.orderid, ew.carid, ew.userid, ew.`status`, ew.reservetime, ew.starttime, ew.endtime, ew.canceltime, eu.nickname, ec.plateid FROM evlib_workorder ew LEFT JOIN evlib_user eu ON eu.userid = ew.userid LEFT JOIN evlib_car ec ON ec.carid = ew.carid WHERE ew.reservetime between date_sub(now(),interval 6 month) and now() ORDER BY ew.reservetime DESC;