MYSQL中按照季度、月份等分組


轉自:https://www.freesion.com/article/1415317089/

 

mysql中關於分組的使用

參考這個使用

  1.  
    select DATE_FORMAT(create_time,'%Y%u') weeks,count(caseid) count from tc_case group by weeks;
  2.  
    select DATE_FORMAT(create_time,'%Y%m%d') days,count(caseid) count from tc_case group by days;
  3.  
    select DATE_FORMAT(create_time,'%Y%m') months,count(caseid) count from tc_case group by months;
  4.  
     
  5.  
    1、按照月份:
  6.  
    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');
  7.  
    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');
  8.  
    獲得按照月份分組進行匯總的數據。
  9.  
     
  10.  
    concat()連接字符串
  11.  
     
  12.  
    -- month
  13.  
    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
  14.  
    WHERE `stat_date` BETWEEN '2016-01-02' AND '2017-05-30' group by months;
  15.  
     
  16.  
    -- 季度
  17.  
    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
  18.  
    WHERE `stat_date` BETWEEN '2016-01-02' AND '2017-05-30' group by qu;
  19.  
     
  20.  
    -- 周
  21.  
    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
  22.  
    WHERE `stat_date` BETWEEN '2016-01-02' AND '2017-05-30' group by weeks;
  23.  
     
  24.  
    -- 天
  25.  
    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
  26.  
    WHERE `stat_date` BETWEEN '2016-01-02' AND '2017-05-30' group by days


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM