mysql - 如何计算年份及其值(value)?

标签 mysql sql select group-by pivot

<分区>

我已经得到了这个查询的一些结果,但我想更改如下所示的结果而不是它

要显示的结果::

    2011                     2012
    26267.620000000003       404603.20999999996
    144384.36                173245.96000000002 
    199704.47999999998       208524.42

查询

SELECT
    YEAR (PAYMENTDATE) AS YEARNUMBER,
    MONTH (PAYMENTDATE) AS MONNUMBER,
    SUM (AMOUNT) AS MONTOTAL
    FROM 
    PAYMENTS
    GROUP BY 
    YEAR (PAYMENTDATE)

Result::上面的查询

2011        26267.620000000003  
2011        144384.36   
2012        173245.96000000002  
2012        208524.42

最佳答案

试试这个:

SELECT MONNUMBER, 
       MAX(CASE WHEN YEARNUMBER = 2011 THEN MONTOTAL ELSE 0 END) AS Year2011,
       MAX(CASE WHEN YEARNUMBER = 2012 THEN MONTOTAL ELSE 0 END) AS Year2011
FROM (SELECT YEAR(PAYMENTDATE) AS YEARNUMBER, MONTH(PAYMENTDATE) AS MONNUMBER, 
             SUM(AMOUNT) AS MONTOTAL
      FROM PAYMENTS
      GROUP BY YEAR(PAYMENTDATE)
    ) AS A
GROUP BY MONNUMBER

关于mysql - 如何计算年份及其值(value)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21374731/

相关文章:

javascript - 使用 if/else if 函数根据选择中选择的选项执行不同的操作

sql - 返回 postgresql 中的行数

php - MySQL UNION 不返回任何结果

php - 如何仅删除选定的帖子?

mysql - 从 NodeJS AWS Lambda 函数查询 MySQL 数据库

sql - 如果没有记录,如何使 MySQL SUM 查询返回零而不是 null?

sql - 选择不同日期和计数

oracle - ORDER BY DECODE(BLAH, [COLUMN NUMBER]) 在单列查询上。它是如何工作的?

php - Wordpress 数据库不小心更改了 URL

mysql - 带有 MySQL 连接器 6.4.3 的 Entity Framework 4 自动生成表导致 "Column Length"异常