在mysql中使用动态月份列的数据透视表

时间:2015-12-26 23:51:01

标签: mysql pivot-table

我想使用mysql查询实现输出,如屏幕截图所示。

enter image description here

屏幕截图中的

显示过去12个月的数量。

如果我在2016年1月运行它,它应该显示从2月15日到1月16日的列名。

任何想法,如何实现?

1 个答案:

答案 0 :(得分:0)

CREATE TABLE Months (
    mo INT );
INSERT INTO Months VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11);

SELECT DATE_FORMAT(DATE(CONCAT(LEFT(NOW(), 7), '-15')
                        - INTERVAL mo MONTH),
                   "%b-%y") AS MmmYY
    FROM Months ORDER BY mo DESC;

那应该给你想要的标题。然后进行旋转,请参阅 http://mysql.rjweb.org/doc.php/pivot