zoukankan      html  css  js  c++  java
  • mysql 统计sql

    1、按照月份统计数据

    SELECT DATE_FORMAT(d.create_time,'%Y-%m') months,COUNT(id) AS scannum FROM detail d GROUP BY months;

    select DATE_FORMAT(create_time,'%Y%u') weeks,count(caseid) count from tc_case group by weeks; 
    select DATE_FORMAT(create_time,'%Y%m%d') days,count(caseid) count from tc_case group by days; 
    select DATE_FORMAT(create_time,'%Y%m') months,count(caseid) count from tc_case group by months;
    
    1、按照月份:
    select sum(total_amount) as total, date_format(stat_date, '%Y-%m')  from week_report WHERE `stat_date` BETWEEN '2016-11-02' AND '2017-04-30' group by date_format(stat_date, '%Y-%m');
    select sum(total_amount) as total,date_format(stat_date, '%Y-%m')   from week_report WHERE `stat_date` BETWEEN '2016-12-11' AND '2016-12-22' group by date_format(stat_date, '%Y-%m');
    获得按照月份分组进行汇总的数据。
    
    concat()连接字符串
    
    -- month
    select CONCAT(YEAR(stat_date),'_',DATE_FORMAT(stat_date,'%m')) months ,sum(total_amount) as count_amount, sum(total_new_user) as count_new_user, sum(da_active_user) as count_active_user from xxx
    WHERE `stat_date` BETWEEN '2016-01-02' AND '2017-05-30' group by months;
    
    -- 季度
    select CONCAT(YEAR(stat_date),'_',quarter(stat_date)) qu,sum(total_amount) as count_amount, sum(total_new_user) as count_new_user, sum(da_active_user) as count_active_user from xxx
    WHERE `stat_date` BETWEEN '2016-01-02' AND '2017-05-30' group by qu;
    
    --
    select CONCAT(YEAR(stat_date),'_',DATE_FORMAT(stat_date,'%U')) weeks,sum(total_amount) as count_amount, sum(total_new_user) as count_new_user, sum(da_active_user) as count_active_user from xxx
    WHERE `stat_date` BETWEEN '2016-01-02' AND '2017-05-30' group by weeks;
    
    --
    select CONCAT(YEAR(stat_date),'_',DATE_FORMAT(stat_date,'%m'),'_',DATE_FORMAT(stat_date,'%d')) days, sum(total_amount) as count_amount, sum(total_new_user) as count_new_user, sum(da_active_user) as count_active_user from xxx
    WHERE `stat_date` BETWEEN '2016-01-02' AND '2017-05-30' group by days;

    2、按分类统计每种总数,并统计总数

    SELECT IFNULL(i.`summary`,'total') total,i.`summary`,COUNT(i.`id`)
    FROM relation r LEFT JOIN info i ON r.`bug_id`=i.`id` LEFT _detail d ON d.`plan_id`=r.`planid`
    WHERE r.`isnew`=1 AND (DATE_FORMAT(d.`create_time`,'%m')='04') GROUP BY i.`summary` WITH ROLLUP;

    mysql> select ifnull(ybbh,'total'),count(1) from jbxx group by ybbh with rollup;
    +----------------------+----------+
    | ifnull(ybbh,'total') | count(1) |
    +----------------------+----------+
    | 00                   |        1 |
    | 12                   |        2 |
    | 13                   |        3 |
    | 31                   |        1 |
    | 99                   |        2 |
    | total                |        9 |
    +----------------------+----------+
    6 rows in set (0.00 sec)
  • 相关阅读:
    (转载)linux 常用命令
    视图view
    Mysql增删改查
    mysql最基础命令
    mysql的基本操作
    (转载)RHEL7(RedHat 7)本地源的配置
    (转载)Linux之虚拟机 rehl7的ip
    js 基本
    java Servlet
    java Tttp协议和Tomcat
  • 原文地址:https://www.cnblogs.com/paisen/p/9230483.html
Copyright © 2011-2022 走看看