在我的MySQL中,我有字段ID,价格和日期字段(时间戳)。
我希望在月底计算当月的总费用并将其保存到变量$ monthjuly。
SELECT SUM(price) FROM app WHERE YEAR(datum) = YEAR(CURRENT_DATE - INTERVAL 1 MONTH) AND MONTH(datum) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH)"
我尝试通过此命令输出结果,但我没有得到任何结果与此metod。 我的错误在哪里?
答案 0 :(得分:1)
编辑: 您正在执行SUM而没有数据分组。无论何时聚合数据,都需要进行分组。在这种情况下,我们按年和月分组。
演示 - http://sqlfiddle.com/#!9/d952a3/1
SELECT SUM(price), year(datum), month(datum)
FROM app
WHERE
YEAR(datum) = YEAR(CURRENT_DATE - INTERVAL 1 MONTH)
AND MONTH(datum) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH)
GROUP BY YEAR(datum), MONTH(datum)
答案 1 :(得分:0)
您没有提及服务器,应用程序和数据库详细信息,因此我将与您分享实现您的要求的功能概述。
步骤1:您需要在应用程序中添加使用URL调用的功能。并且该函数应该具有以下代码,
function foo() {
// compare today date and check is it last day of month or not
if($islastday) {
// fetch data from sql current month
//SELECT sum(cost)
//FROM table
//WHERE MONTH(date field) = MONTH(CURRENT_DATE())
//AND YEAR(date field) = YEAR(CURRENT_DATE())
//write mail function and send mail with email template providing it
sql data
}
}
步骤2:每天设置cron作业以调用上述功能。
感谢。