无法编写完整的函数来将当前月份和年份与我的数据库m / y进行比较。数据库中的日期来自now()函数。我想根据这种比较来总结成本。类似的东西:
$currentDate = date("Y-m");
$query = mysql_query ("SELECT SUM(cost) FROM memberorders WHERE
memberNumber=$memNum AND
(SELECT DATE_FORMAT(orderDate, '%Y-%m'))=$currentDate");
但那不起作用。然后我需要一个函数的帮助来总结它。
$test1 = mysql_fetch_array($query);
$total = $test1[0];
是否可以通过数据库进行总结?
答案 0 :(得分:1)
如果要使用索引,请不要将任何函数(如DATE_FORMAT()
函数)应用于列(如OrderDate
列)。如果您可以在应用程序(PHP)代码中创建固定的月份开始,请尝试此操作:
SELECT SUM(cost)
FROM memberorders
WHERE memberNumber = $memNum
AND orderDate >= '2013-01-01' -- first day of this month
AND orderDate < '2013-02-01' ; -- first day of next month
或者如果您更喜欢在MySQL中处理它:
SELECT SUM(cost)
FROM memberorders
WHERE memberNumber = $memNum
AND orderDate >= LAST_DAY(NOW()) + INTERVAL 1 DAY - INTERVAL 1 MONTH
AND orderDate < LAST_DAY(NOW()) + INTERVAL 1 DAY ;