程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> mysql 按年度、季度、月度、周、日SQL統計查詢

mysql 按年度、季度、月度、周、日SQL統計查詢

編輯:關於MYSQL數據庫

該死的mysql沒有提供unix時間戳的專門處理函數,所以,如果遇到時間分組,而你用的又是整型unix時間戳,則只有轉化為MySQL的其他日期類型!
FROM_UNIXTIM()將unix時間戳轉為datetime等日期型!

一、年度查詢
查詢 本年度的數據
SELECT *
FROM blog_article
WHERE year( FROM_UNIXTIME( BlogCreateTime ) ) = year( curdate( ))


二、查詢季度數據
查詢數據附帶季度數
SELECT ArticleId, quarter( FROM_UNIXTIME( `BlogCreateTime` ) ) 
FROM `blog_article`
其他的同前面部分:查詢 本季度的數據
SELECT *
FROM blog_article
WHERE quarter( FROM_UNIXTIME( BlogCreateTime ) ) = quarter( curdate( ))



三、查詢月度數據
本月統計(MySQL)
select * from booking where month(booking_time) =

month(curdate()) and year(booking_time) = year(curdate())

本周統計(MySQL)

select * from spf_booking where month(booking_time) =

month(curdate()) and week(booking_time) = week(curdate())


四、時間段

N天內記錄

WHERE TO_DAYS(NOW()) - TO_DAYS(時間字段) <= N


 

當天的記錄
 


 

where date(時間字段)=date(now())

where to_days(時間字段) = to_days(now());

查詢一周:
select * from table   where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(column_time);

查詢一個月:
select * from table where DATE_SUB(CURDATE(), INTERVAL INTERVAL 1 MONTH) <= date(column_time);

 


 

查詢'06-03'到'07-08'這個時間段內所有過生日的會員:

 

 

   Select * From user Where

DATE_FORMAT(birthday,'%m-%d') >= '06-03' and DATE_FORMAT(birthday,'%m-%d')

<= '07-08';


統計一季度數據,表時間字段為:savetime 
group by concat(date_format(savetime, '%Y '),FLOOR((date_format(savetime, '%m ')+2)/3))

select YEAR(savetime)*10+((MONTH(savetime)-1) DIV 3) +1,count(*)

 

from yourTable

group by YEAR(savetime)*10+((MONTH(savetime)-1) DIV 3) +1;

五、分組查詢
     
   1、年度分組

   2、月度分組

   3、先按年度分組,再按月度分組

   4、按年月分組
   SELECT count(ArticleId), date_format(FROM_UNIXTIME( `BlogCreateTime`),'%y%m') sdate  FROM `blog_article` group by sdate

   結果:
    count( ArticleId )     sdate
17     0901
11     0902
5     0903
6     0904
2     0905
1     0907
12     0908
6     0909
11     0910
3     0911

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved