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

字段为空有两种情况

判断字段为空

判断字段不为空

trim可以不写,直接写(column)

参考: https://www.cnblogs.com/kingboy-xin/p/10825085.html .

判断NULL用is null或者 is not null,sql语句里可以用ifnull函数来处理。

判断空字符串‘’,要用 =或者 ,sql语句里可以用if(col,col,0)处理,即当col为true时(非null,及非)显示否则打印0。

drop table if exists‘XXX’,备份sql中一般都有这样的语句,如果是数据库中有这个表,先drop掉,然后create表,然后再进行数据插入。


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

原文地址: https://outofmemory.cn/zaji/6117845.html

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

发表评论

登录后才能评论

评论列表(0条)

保存