【SQL自学打卡|DAY6】——必会的常用函数2

前言

  我又断更了!自己好多东西没搞明白,所以也就没有分享,接下来一定笔耕不辍!!今天继续上一次的必会的常用函数!

首先回顾一下知识点:
1、CASE函数
CASE
WHEN 简单表达式1 THEN 结果表达式1
WHEN 简单表达式2 THEN 结果表达式2 …
WHEN 简单表达式n THEN 结果表达式n
[ ELSE 结果表达式n+1 ]
END
2、日期函数
2021年8月,写法有很多种,比如用year/month函数的
year(date)=2021 and month(date)=8
每天:按天分组group by date

SLogan:利用有限的时间,撸起袖子加油干!既要面包也要玫瑰!!!

一、学习过程

2、日期函数

【SQL29】计算用户的平均次日留存率
在这里插入图片描述

解题思路:
  对现有关系数据表的列进行拆解重构,目的是实现当日用户与次日用户的对应匹配,通过对question_practice_detail表利用from …left outer join … on …建立自联结,这里重点指出通过on q1.device_id=q2.device_id and datediff(q2.date,q1.date)=1实现联结匹配,datediff(次日,当日)=1即次日-当日=1(相隔一天)发挥构建桥梁作用; DATEDIFF()函数返回两个日期之间的差异
  分母count(distinct q1.device_id,q1.date) 通过DISTINCT 对当日的device_id,date进行双项剔重,利用COUNT()统计用户数;同样的分子count(distinct q2.device_id,q2.date)对次日的device_id,date进行双项剔重。

代码如下:

SELECT 
count(distinct q2.device_id,q2.date)/
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

祖国滴花骨朵儿

感谢之情无以言表,会用行动证明

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值