最近在计算日留存和月留存
日留存通常会用到的函数是datediff()
使用格式如下:datediff(yyyy-MM-dd,yyyy-MM-dd)可以计算出两个日期间隔多少天
月留存的话用这个就不太合适了,因为有的月份是29天有的是30天还有31天的,所以想要计算出间隔天数➗月份天数是不准确的
因此我先用: show functions like '*month*';
查出关于month的函数有如下几个:
function
0 add_months
1 dayofmonth
2 month
3 months_between
毫无疑问肯定是最后一个啦
select months_between('2021-05-01','2021-03-01') ==>2.0
注意数据格式一定要转换成yyyy-MM-dd
时间戳转时间转换函数也给大家准备好了
date_format(first_login_timestamp,'yyyy-MM-dd') 可以将timestamp 格式的数据转换成日期