ELECT
    MONTH (orderTime) AS MONTH,
    SUM(
        CASE
        WHEN type = 0 THEN
            amount
        ELSE
            0
        END
    ) AS buy,
    SUM(
        CASE
        WHEN type = 1
        AND STATUS = 2 THEN
            amount
        ELSE
            0
        END
    ) AS sale
FROM
    trade
WHERE
    YEAR (orderTime) = 2018
GROUP BY
    MONTH (ordertime)

以上是查询2018年 每个月的销售情况和采购情况,当type=0 表示采购,type=1表示销售、
使用

sum(case when 条件 then 字段 else 0 end)

表示条件:
该语句的解释是:

sql 数据分月统计,表中只有每天的数据,现在要求求一年中每个月的统计数据(一条sql)  

SELECT  
  MONTH (  那个日期的字段  ),  
  SUM(  需要统计的字段, 比如销售额什么的 )  
FROMWHERE  
  YEAR (  那个日期的字段  ) = 2010   -- 这里假设你要查 2010年的每月的统计。  
GROUP BY  
 MONTH (  那个日期的字段  )  

这里写图片描述
这里是查询结果
查询结果

Logo

更多推荐