我正在尝试计算本月数据库中每家餐厅的订单数量。我想知道如何根据月份和年份计算餐馆数量。
我曾尝试过:
$mm = date('m');
$yy = date('Y');
$month_sales = mysqli_query($dbc, "SELECT COUNT(Order_ID)FROM ord_dets WHERE
Resturant_ID='$Restaurant_id' AND DATEPART(yyyy,Date_Time_Placed ) ='$yy' AND DATEPART(mm,OrderDate)='$mm'");
$month_sales_row = $month_sales->fetch_row()[0];
printf("%d \n", $month_sales_row);
mysqli_free_result($month_sales);
但是我收到了这个错误:
未捕获mysqli_sql_exception:功能one_delivery.DATEPART在...中不存在。
Date_Time_Placed是我表中保存订单时间戳的列。
我正在使用php 7
答案 0 :(得分:0)
如果Date_Time_Placed
和OrderDate
是有效的日期/日期时间字符串;例如:2016-07-02 16:57:00
,您可以使用内置的MySQL函数YEAR()
和MONTH()
:
SELECT COUNT(Order_ID)
FROM ord_dets
WHERE Resturant_ID='$Restaurant_id'
AND YEAR(Date_Time_Placed) = '$yy'
AND MONTH(OrderDate) = '$mm'
如果您的日期是UNIX时间戳,则需要先使用FROM_UNIXTIME()
转换它们; e.g:
YEAR(FROM_UNIXTIME(Date_Time_Placed))
希望这会有所帮助:)