根据月份从数据库表中选择总计

时间:2016-07-06 06:53:33

标签: php mysql

我有一个包含产品数量列的表,数据库在一个月内有多个条目。

日期格式为(YYYY-MM-DD)

Date          Quantity
2016-03-01    1200
2016-03-05    200 
2016-04-05    500 
2016-04-10    1000 
2016-05-05    850 
2016-05-10    50 

所以我希望数据为:

  • 三月(2016-03-01至2016-03-31)= 1400
  • 四月(2016-04-01至2016-04-30)= 1500
  • 5月(2016-05-01至2016-05-31)= 900

我该怎么做?

5 个答案:

答案 0 :(得分:1)

select MONTH(Date) As dt , SUM(quantity) total from @Table1
    GROUP BY MONTH(Date)

答案 1 :(得分:1)

您可以使用DATE_FORMATdate字段转换为year-month格式,选择quantity字段的SUM,然后{{ 3}} year-month字段。

SELECT DATE_FORMAT('%Y-%m', `date`) as `ym`, SUM(`quantity`) FROM `table` GROUP BY `ym` ORDER BY `ym` ASC

答案 2 :(得分:1)

使用以下查询,它将返回您想要的结果。

'日期字段'是插入日期的列的名称,Tablename是表的名称。

   SELECT   MONTH(date field)  as  month ,  YEAR(date field) as year , SUM(quantity) as 
   quantity  FROM  Tablename  GROUP  BY  MONTH( date field )

答案 3 :(得分:0)

您可以尝试按月和年分组,将quantity字段的总和作为汇总。

SELECT MONTH(Date), YEAR(Date), SUM(quantity)
FROM yourTable
GROUP BY MONTH(Date), YEAR(Date)

如果你想要花哨的输出与实际的日期范围,这将是一个更多的工作要做。这些日期可能不存在于原始数据集中,因此可能需要日期表。在闰年处理二月可能是一个真正的痛苦。

答案 4 :(得分:0)

使用以下查询,因为它将返回您想要的内容

<TD vAlign="Middle" align="Center"><A href="/?open_the=gate"><SPAN class="H">H</SPAN>ome</A></TD>
<TD vAlign="Middle" align="Center"><A href="/?open_the=book"><SPAN class="B">B</SPAN>ook</A></TD>
<TD vAlign="Middle" align="Center"><A href="/?open_the=contact_page"><SPAN class="C">C</SPAN>ontact <SPAN class="P">P</SPAN>age</A></TD>