Php mysql查询-一个用于创建按月显示销售额的表的查询
我有一个mysql表,其中包含销售信息:卖家、产品、销售日期 如何编写查询以生成一个表,该表显示每个卖家每月和总共显示的总产品 这是我用来创建包含SellerName和7月份总销售额的表的查询:Php mysql查询-一个用于创建按月显示销售额的表的查询,php,mysql,Php,Mysql,我有一个mysql表,其中包含销售信息:卖家、产品、销售日期 如何编写查询以生成一个表,该表显示每个卖家每月和总共显示的总产品 这是我用来创建包含SellerName和7月份总销售额的表的查询: select SellerName, count(*) as july from onlineDATA where ReportMonth = 201207 GROUP BY SellerName ORDER BY july DESC LIMIT 0,30 如何修改此项以获得每个月的附加销售总额 我
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
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;
额外的问题-当月数是用户输入时,我将如何在PHP中编写此代码-从1到12
谢谢我认为您必须单独定义列,如下所示:
SellerName | Jun | Jul | Aug | YTD
John Doe | 30 | 25 | 30 | 85
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;
谢谢这是有效的——但我必须在SUM(IF)语句中的“、1”之后加上“、0”。