【SQL案例】区间活跃和中位数问题

本文提供两个SQL案例,一是利用MySQL 8.0解决近60天内,用户任意7天内活跃5天的查询,通过表自关联、筛选等步骤实现;二是探讨如何在SQL中计算中位数,分别针对奇数行和偶数行的情况给出解决方案。
摘要由CSDN通过智能技术生成

SQL 案例

案例一:近60天 ,任意7天内有5天活跃的用户明细

版本:mysql 8.0
示例数据:

ftime uid
20220326 134****0923
20220325 139****3215
20220325 191****2589
20220325 191****2589
20220325 191****2589
20220325 191****2589
***

解析

第一步:表自关联,求出日期差

注意:笛卡尔积

SELECT	 t1.ftime t1,t1.uid,t2.ftime t2,DATEDIFF(t1.ftime,t2.ftime) 日期差
FROM(
		SELECT ftime,uid 
		FROM temp_table 
		where ftime>= date_sub(now(),interval 60 day) 
    		  and ftime<= date_format(DATE_SUB(now(),interval 1 day),"%Y%m%d")
		GROUP BY ftime,uid
)t1 left join (
		SELECT ftime,uid
		FROM temp_table  
		where  ftime>= date_sub(now(),interval 60 day) 
    		   and ftime<= date_format(DATE_SUB
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值