mysql日期格式化季度_mysql 按年度、季度、月度、周、日SQL统计查询
一、年度查詢
查詢?本年度的數(shù)據(jù)
SELECT?*
FROM?blog_article
WHERE?year(?FROM_UNIXTIME(?BlogCreateTime?)?)?=?year(?curdate(?))
二、查詢季度數(shù)據(jù)
查詢數(shù)據(jù)附帶季度數(shù)
SELECT?ArticleId,?quarter(?FROM_UNIXTIME(?`BlogCreateTime`?)?)
FROM?`blog_article`
其他的同前面部分:查詢?本季度的數(shù)據(jù)
SELECT?*
FROM?blog_article
WHERE?quarter(?FROM_UNIXTIME(?BlogCreateTime?)?)?=?quarter(?curdate(?))
三、查詢月度數(shù)據(jù)
本月統(tǒng)計(jì)(MySQL)
select?*?from?booking?where?month(booking_time)?=
month(curdate())?and?year(booking_time)?=?year(curdate())
本周統(tǒng)計(jì)(MySQL)
select?*?from?spf_booking?where?month(booking_time)?=
month(curdate())?and?week(booking_time)?=?week(curdate())
四、時(shí)間段
N天內(nèi)記錄
WHERE?TO_DAYS(NOW())?-?TO_DAYS(時(shí)間字段)?<=?N
當(dāng)天的記錄
where?date(時(shí)間字段)=date(now())
或
where?to_days(時(shí)間字段)?=?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'這個時(shí)間段內(nèi)所有過生日的會員:
Select?*?From?user?Where
DATE_FORMAT(birthday,'%m-%d')?>=?'06-03'?and?DATE_FORMAT(birthday,'%m-%d')
<=?'07-08';
統(tǒng)計(jì)一季度數(shù)據(jù),表時(shí)間字段為: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
結(jié)果:
count(?ArticleId?)?sdate
17?0901
11?0902
5?0903
6?0904
2?0905
1?0907
12?0908
6?0909
11?0910
3?0911
其他方法參考:
我想做一個統(tǒng)計(jì),數(shù)據(jù)庫是mysql,統(tǒng)計(jì)出每天,每周,每月的記錄數(shù)
建表的時(shí)候加個字段表示日期,然后查sql手冊...
select?count(*)?from?`table`?where?`date`='{某天}'
select?count(*)?from?`table`?where?date_format(`date`,'%V')='{某周}'
select?count(*)?from?`table`?where?date_format(`date`,'%c')='{某月}'
另一種方法:
select?count(?*?)?from?projects?where?editdate?>=?'2007-11-9?00:00:00'?and?editdate?<=
'2007-11-9?24:00:00';
第三種方法:
每周的
SQL?codeselect?count(*)?as?cnt,week(editdate)?as?weekflg?from?projects?where?year(editdate)
=2007?group?by?weekflg
每月
SQL?codeselect?count(*)?as?cnt,month(editdate)?as?monthflg?from?projects?where?year
(editdate)=2007?group?by?monthflg
每天
SQL?codeselect?count(*)?as?cnt?from?projects?group?by?date(editdate)
mysql中DATE_FORMAT(date,?format)函數(shù)可根據(jù)format字符串格式化日期或日期和時(shí)間值date,返回結(jié)果
串。
也可用DATE_FORMAT(?)?來格式化DATE?或DATETIME?值,以便得到所希望的格式。根據(jù)format字符串格式
化date值:
下面是函數(shù)的參數(shù)說明:
%S,?%s?兩位數(shù)字形式的秒(?00,01,?.?.?.,?59)
%i?兩位數(shù)字形式的分(?00,01,?.?.?.,?59)
%H?兩位數(shù)字形式的小時(shí),24?小時(shí)(00,01,?.?.?.,?23)
%h,?%I?兩位數(shù)字形式的小時(shí),12?小時(shí)(01,02,?.?.?.,?12)
%k?數(shù)字形式的小時(shí),24?小時(shí)(0,1,?.?.?.,?23)
%l?數(shù)字形式的小時(shí),12?小時(shí)(1,?2,?.?.?.,?12)
%T?24?小時(shí)的時(shí)間形式(hh?:?mm?:?s?s)
%r?12?小時(shí)的時(shí)間形式(hh:mm:ss?AM?或hh:mm:ss?PM)
%p?AM?或P?M
%W?一周中每一天的名稱(?Sunday,?Monday,?.?.?.,?Saturday)
%a?一周中每一天名稱的縮寫(?Sun,?Mon,?.?.?.,?Sat)
%d?兩位數(shù)字表示月中的天數(shù)(?00,?01,?.?.?.,?31)
%e?數(shù)字形式表示月中的天數(shù)(?1,?2,?.?.?.,?31)
%D?英文后綴表示月中的天數(shù)(?1st,?2nd,?3rd,?.?.?.)
%w?以數(shù)字形式表示周中的天數(shù)(?0?=?Sunday,?1=Monday,?.?.?.,?6=Saturday)
%j?以三位數(shù)字表示年中的天數(shù)(?001,?002,?.?.?.,?366)
%?U?周(0,?1,?52),其中Sunday?為周中的第一天
%u?周(0,?1,?52),其中Monday?為周中的第一天
%M?月名(January,?February,?.?.?.,?December)
%b?縮寫的月名(?January,?February,?.?.?.,?December)
%m?兩位數(shù)字表示的月份(?01,?02,?.?.?.,?12)
%c?數(shù)字表示的月份(?1,?2,?.?.?.,?12)
%Y?四位數(shù)字表示的年份
%y?兩位數(shù)字表示的年份
%%?直接值“%”
總結(jié)
以上是生活随笔為你收集整理的mysql日期格式化季度_mysql 按年度、季度、月度、周、日SQL统计查询的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 长期均衡的条件
- 下一篇: 上门取件运费险抵首重是什么意思