2013-02-19 107 views
0

我有一个MySQL表与销售信息:卖家,产品,销售日期。mysql查询 - 一个查询创建表显示按月销售

我该如何编写一个查询来生成一个表格,该表格显示每个卖家每月显示的总产品数量以及总数?

这是我用在七月创建SELLERNAME和总销售额的表查询:

select SellerName, count(*) as july 
from onlineDATA 
where ReportMonth = 201207 
GROUP BY SellerName 
ORDER BY july DESC 
LIMIT 0,30 

如何修改它来获取额外的销售总额每个月?

我在寻找这样的输出:

SellerName | Jun | Jul | Aug | YTD 
    John Doe  | 30 | 25 | 30 | 85 

奖金的问题 - 我怎么会在PHP代码本时的月数将是一个用户输入 - 从1到12的任何地方?

感谢

回答

0

我认为你将不得不单独定义列,这样的:

SELECT 

SellerName,  
SUM(IF(ReportMonth = 201206, 1.0)) AS Jun, 
SUM(IF(ReportMonth = 201207, 1.0)) AS Jul, 
SUM(IF(ReportMonth = 201208, 1.0)) AS Aug, 
COUNT(*) AS YTD 

FROM onlineDATA 

GROUP BY SellerName 
ORDER BY SellerName DESC LIMIT 30; 
+0

谢谢!这工作 - 但我不得不在SUM(IF语句)中的“,1”之后添加“,0”。 – user1991642 2013-02-19 22:24:01