Php MySQL查询以获取月=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 |

我正在尝试从我的数据库中获取续订总金额,其中到期日期=一年中的第一个月,即: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     |      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?你的问题没有说明这一点?