Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysql查询-一个用于创建按月显示销售额的表的查询_Php_Mysql - Fatal编程技术网

Php mysql查询-一个用于创建按月显示销售额的表的查询

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 如何修改此项以获得每个月的附加销售总额 我

我有一个mysql表,其中包含销售信息:卖家、产品、销售日期

如何编写查询以生成一个表,该表显示每个卖家每月和总共显示的总产品

这是我用来创建包含SellerName和7月份总销售额的表的查询:

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”。