1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > mysql季度查询_mysql按年度 季度 月度 周 日SQL统计查询

mysql季度查询_mysql按年度 季度 月度 周 日SQL统计查询

时间:2023-07-17 18:54:11

相关推荐

mysql季度查询_mysql按年度 季度 月度 周 日SQL统计查询

说明SELECTYEAR('-10-29')//

SELECTMONTH('-10-29')//10

SELECTDAY('-10-29')//29

SELECTQUARTER('-10-29')//4季度

SELECTDAYOFWEEK('-10-29')//4星期

一、年度查询

查询本年度的数据SELECT*

FROMblog_article

WHEREyear(FROM_UNIXTIME(BlogCreateTime))=year(curdate())

二、查询季度数据

查询数据附带季度数SELECTArticleId,quarter(FROM_UNIXTIME(`BlogCreateTime`))

FROM`blog_article`

其他的同前面部分:查询本季度的数据SELECT*

FROMblog_article

WHEREquarter(FROM_UNIXTIME(BlogCreateTime))=quarter(curdate())

三、查询月度数据

本月统计(MySQL)select*frombookingwheremonth(booking_time)=

month(curdate())andyear(booking_time)=year(curdate())

本周统计(MySQL)select*fromspf_bookingwheremonth(booking_time)=

month(curdate())andweek(booking_time)=week(curdate())

四、时间段

N天内记录WHERETO_DAYS(NOW())-TO_DAYS(时间字段)<=N

当天的记录wheredate(时间字段)=date(now())

或whereto_days(时间字段)=to_days(now());

查询一周select*fromtablewhereDATE_SUB(CURDATE(),INTERVAL7DAY)<=date(column_time);

查询一个月select*fromtablewhereDATE_SUB(CURDATE(),INTERVALINTERVAL1MONTH)<=date(column_time);

查询’06-03’到’07-08’这个时间段内所有过生日的会员:Select*FromuserWhere

DATE_FORMAT(birthday,'%m-%d')>='06-03'andDATE_FORMAT(birthday,'%m-%d')<='07-08';

统计一季度数据,表时间字段为:savetimegroupbyconcat(date_format(savetime,'%Y'),FLOOR((date_format(savetime,'%m')+2)/3))

或selectYEAR(savetime)*10+((MONTH(savetime)-1)DIV3)+1,count(*)

fromyourTable

groupbyYEAR(savetime)*10+((MONTH(savetime)-1)DIV3)+1;

五、分组查询

1、年度分组

2、月度分组

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

4、按年月分组SELECTcount(ArticleId),date_format(FROM_UNIXTIME(`BlogCreateTime`),'%y%m')sdateFROM`blog_article`groupbysdate

结果:count(ArticleId)sdate

170901

110902

50903

60904

20905

10907

120908

60909

110910

30911

其他方法参考:

我想做一个统计,数据库是mysql,统计出每天,每周,每月的记录数

建表的时候加个字段表示日期,然后查sql手册…selectcount(*)from`table`where`date`='{某天}'

selectcount(*)from`table`wheredate_format(`date`,'%V')='{某周}'

selectcount(*)from`table`wheredate_format(`date`,'%c')='{某月}'

另一种方法:selectcount(*)fromprojectswhereeditdate>='-11-900:00:00'andeditdate<=

'-11-924:00:00';

第三种方法:

每周的SQLcodeselectcount(*)ascnt,week(editdate)asweekflgfromprojectswhereyear(editdate)

=groupbyweekflg

每月SQLcodeselectcount(*)ascnt,month(editdate)asmonthflgfromprojectswhereyear

(editdate)=groupbymonthflg

每天SQLcodeselectcount(*)ascntfromprojectsgroupbydate(editdate)

mysql中DATE_FORMAT(date, format)函数可根据format字符串格式化日期或日期和时间值date,返回结果

串。

也可用DATE_FORMAT( ) 来格式化DATE 或DATETIME 值,以便得到所希望的格式。根据format字符串格式

化date值:

下面是函数的参数说明:%S,%s两位数字形式的秒(00,01,...,59)

%i两位数字形式的分(00,01,...,59)

%H两位数字形式的小时,24小时(00,01,...,23)

%h,%I两位数字形式的小时,12小时(01,02,...,12)

%k数字形式的小时,24小时(0,1,...,23)

%l数字形式的小时,12小时(1,2,...,12)

%T24小时的时间形式(hh:mm:ss)

%r12小时的时间形式(hh:mm:ssAM或hh:mm:ssPM)

%pAM或PM

%W一周中每一天的名称(Sunday,Monday,...,Saturday)

%a一周中每一天名称的缩写(Sun,Mon,...,Sat)

%d两位数字表示月中的天数(00,01,...,31)

%e数字形式表示月中的天数(1,2,...,31)

%D英文后缀表示月中的天数(1st,2nd,3rd,...)

%w以数字形式表示周中的天数(0=Sunday,1=Monday,...,6=Saturday)

%j以三位数字表示年中的天数(001,002,...,366)

%U周(0,1,52),其中Sunday为周中的第一天

%u周(0,1,52),其中Monday为周中的第一天

%M月名(January,February,...,December)

%b缩写的月名(January,February,...,December)

%m两位数字表示的月份(01,02,...,12)

%c数字表示的月份(1,2,...,12)

%Y四位数字表示的年份

%y两位数字表示的年份

%%直接值“%”

注:文章由seo技术/进行编辑,转载需注明来源。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。