【问题标题】:mysql query - one query to create table showing sales by monthmysql 查询 - 创建按月显示销售额的表的查询
【发布时间】:2013-02-19 21:56:56
【问题描述】:

我有一个包含销售信息的 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

额外的问题 - 当月数是用户输入时我将如何在 PHP 中编写代码 - 从 1 到 12 的任何地方?

谢谢

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    我认为您必须单独定义列,如下所示:

    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”。
    猜你喜欢
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-04
    • 2016-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多