mysql单表统计认证时间间隔小于15天的人数和次数

面对产品需求,需要统计提前认证的用户数,即认证时间间隔小于15天的用户。通过分析用户认证历史表,使用复杂的SQL查询而非存储过程来解决此问题。SQL查询利用临时表对比同一用户的不同认证时间,找出间隔小于15天的记录,从而计算出次数和独立用户数。
摘要由CSDN通过智能技术生成
我们产品提出了一个需求,正常用户认证是30天认证一次,但是她想统计一下提前认证的用户数。数据库表就一个,用户认证历史表,记录了所有用户每次认证的情况。
我面对这个问题的时候,首先想到的是用sql直接写,但是发现这个问题比想象的要复杂。转而想用存储过程写,但是写了一会,觉得一方面存储过程的调试不是每个工具都支持单步调试,另一方面之前的经验告诉我,没有sql 搞不定的事情。于是想挑战自己,又改为了尝试用sql 直接实现。
这个问题的麻烦之处在于自己的所有认证时间和自己所有认证时间的比较。那就只好用mysql执行的时候的内置临时表了,生成两张临时表,然后对用户id相同的所有数据互相进行比较,找到间隔时间小于15天的数据。沿着这个思路有了下面的sql。
--获取认证时间小于15天的次数和人数
select count(tab1.c_user_id)/2, count(distinct(tab1.c_user_id))
from 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值