Php MySQL查询以获取月=1月的总和
我正在尝试从我的数据库中获取续订总金额,其中到期日期=一年中的第一个月,即:1月 这是我的表格用户页面结构Php MySQL查询以获取月=1月的总和,php,mysql,Php,Mysql,我正在尝试从我的数据库中获取续订总金额,其中到期日期=一年中的第一个月,即:1月 这是我的表格用户页面结构 id | expiry |renew_total|renewal_flag| self_managed | 1 | 2017-01-08 15:03:57 | 1000 | 0 | 0 | 2 | 2017-02-31 07:17:01 | 1500 |
id | expiry |renew_total|renewal_flag| self_managed |
1 | 2017-01-08 15:03:57 | 1000 | 0 | 0 |
2 | 2017-02-31 07:17:01 | 1500 | 0 | 0 |
我正在尝试:
public function jan_renewal()
{
return $this->db->select("
SELECT sum((renew_total*12)/100)
as janrenewal FROM user_pages
WHERE renewal_flag=0
AND self_managed = 0
");
}
我没有得到预期的正确结果
总和=120
用于仅选择一月中的日期:
SELECT SUM(renew_total) AS janrenewal
FROM user_pages
WHERE MONTH(expiry) = 1
AND renewal_flag = 0
AND self_managed = 0;
若你们得到的总数是1000,那个么它是正确的?你们得到的结果是什么?120?你得到了正确的结果。就月份而言,您只需共享第一行值。问题的标题中有“where month=January”,代码中的实际where子句不包含这样的内容-给出了什么…?“请再次阅读问题”-是的,您自己这样做。“我的查询不起作用它给了我一堆结果而不是一个结果”-你实际上没有说任何关于“一堆结果列表”的事情,但最好的说法是“普通的noobish”,它“不起作用”。所以你现在就去阅读,来了解为什么“不起作用”根本不是一个有用的问题描述,然后你会想为什么当你有多个月的数据时,你可能会得到多个结果,按(年和)月分组,你的回答非常接近我的问题,但当我运行这个查询时,我得到的结果是空的results@JamezRoz当然,当1月份没有
renew\u total
值时,任何一年都将为空。这就是你的意思吗?如果没有,你能澄清一下吗?我没有使用group by,我只是想按月筛选结果,不管是2017年还是2999年,我希望每月结果=1看看这里,你可以看到实际结果窗口(即将续订)你可以看到“一月”块是空的,而我们在db中有month=1的值。在阅读您的答案后,我现在使用此查询。从用户页面中选择SUM((续订总数*12)/100)作为janrenewal,其中month(expiry)=1,续订标志=0,self_managed=0按年分组(expiry),但结果块仍然是空的。您为什么*12和/100?你的问题没有说明这一点?