不废话 直接上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格式的数字。然后计算你想要查询的最近那几天的数据就好。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)