zoukankan      html  css  js  c++  java
  • sql按月统计数量和按月累加统计数量

    1、简单的,按月统计数量

    SELECT CREATE_DATE, DATE_FORMAT(CREATE_DATE, '%Y-%m') AS month
        , COUNT(*) AS sum
    FROM pt_user
    GROUP BY month;

    2、按月累加统计数据

    SELECT a.month, SUM(b.total) AS total
    FROM (
        SELECT DATE_FORMAT(CREATE_DATE, '%Y-%m') AS month, SUM(sum) AS total
        FROM (
            SELECT CREATE_DATE, DATE_FORMAT(CREATE_DATE, '%Y-%m') AS month
                , COUNT(*) AS sum
            FROM pt_user
            GROUP BY month
        ) ptuser
        GROUP BY month
    ) a
        JOIN (
            SELECT DATE_FORMAT(CREATE_DATE, '%Y-%m') AS month, SUM(sum) AS total
            FROM (
                SELECT CREATE_DATE, DATE_FORMAT(CREATE_DATE, '%Y-%m') AS month
                    , COUNT(*) AS sum
                FROM pt_user
                GROUP BY month
            ) ptuser
            GROUP BY month
        ) b
        ON a.MONTH >= b.MONTH
    GROUP BY a.MONTH
    ORDER BY a.month;

    3、多字段按月累加统计(eg:按租户统计累加每月增长数量)

    SELECT a.ORGAN_ID, a.month, SUM(b.total) AS total
    FROM (
        SELECT ORGAN_ID, DATE_FORMAT(CREATE_TIME, '%Y-%m') AS month
            , SUM(sum) AS total
        FROM (
            SELECT ORGAN_ID, CREATE_TIME, DATE_FORMAT(CREATE_TIME, '%Y-%m') AS month
                , COUNT(*) AS sum
            FROM pt_user
            GROUP BY month
        ) ptuser
        GROUP BY ORGAN_ID, month
    ) a
        JOIN (
            SELECT ORGAN_ID, DATE_FORMAT(CREATE_TIME, '%Y-%m') AS month
                , SUM(sum) AS total
            FROM (
                SELECT ORGAN_ID, CREATE_TIME, DATE_FORMAT(CREATE_TIME, '%Y-%m') AS month
                    , COUNT(*) AS sum
                FROM pt_user
                GROUP BY month
            ) ptuser
            GROUP BY ORGAN_ID, month
        ) b
        ON a.ORGAN_ID = b.ORGAN_ID
            AND a.MONTH >= b.MONTH
    GROUP BY a.MONTH
    ORDER BY a.ORGAN_ID, a.month;
  • 相关阅读:
    VS中常用的快捷键
    C#邮件发送(最坑爹的邮箱-QQ邮箱)
    MVC文件上传与下载
    CodeFirst体验之且行且珍惜
    遮罩层中的相对定位与绝对定位(Ajax)
    五险一金 社保基数 住房公积金基数以及个税(By FlyElephant)
    链式编程
    "WannaCry"勒索病毒用户处置指南
    C# 序列化和反序列化
    s
  • 原文地址:https://www.cnblogs.com/wanglu/p/8954409.html
Copyright © 2011-2022 走看看