mysql计算近n天近n个月分组,如果为空补全的解决方案

mysql计算近n天近n个月分组,如果为空补全的解决方案,第1张

1.近n个月 

不废话 直接上sql

SELECT

DATE_FORMAT( @cdate := DATE_ADD( @cdate, INTERVAL - 1 MONTH ), '%Y-%m' ) AS cmonth

FROM

( SELECT @cdate := DATE_ADD( '2020-7-1', INTERVAL + 1 MONTH ) FROM information_schema.CHARACTER_SETS ) t0

LIMIT 100

注意 information_schema.CHARACTER_SETS这个表是mysql系统表,可以取到的最大月数和这个表的数量有关,如果又更多的时间要选,可以查询其他表,数据量不要太大,太大会影响查询效率

2 同理 上近n天

SELECT

@cdate := DATE_ADD( @cdate, INTERVAL - 1 DAY )AS DAYS

FROM

( SELECT @cdate := DATE_ADD( '2020-7-1', INTERVAL + 1 DAY ) FROM information_schema.CHARACTER_SETS ) t0

LIMIT 100

首先,你要查询的字段里面应该有一个时间字段。然后再

通过unix_timestamp(date)

若无参数调用,则返回一个Unix

timestamp

('1970-01-01

00:00:00'

GMT

之后的秒数)

作为无符号整数。若用date

来调用UNIX_TIMESTAMP(),它会将参数值以'1970-01-01

00:00:00'

GMT后的秒数的形式返回。date

可以是一个DATE

字符串、一个

DATETIME字符串、一个

TIMESTAMP或一个当地时间的YYMMDD

或YYYMMDD格式的数字。然后计算你想要查询的最近那几天的数据就好。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7481872.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存