SQL29 计算用户的平均次日留存率(lead函数的用法)

在这里插入图片描述

代码

with t1 as(select distinct device_id,date --去重防止单日多次答题的情况from question_practice_detail
)
select
avg(if(datediff(date2,date1)=1,1,0)) as avg_ret
from (selectdistinct device_id,date as date1,lead(date) over(partition by device_id order by date) as date2from t1
) as b

知识点

  1. distinct后面的所有列都将进行去重操作
  2. if函数的用法
  3. datediff函数的用法(参数需为日期类型)
  4. lead函数:本身有三个参数(所取的字段,向下偏移量【默认为1】,默认值)
    该函数经常用于留存率分析

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/475069.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件测试知识总结

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号:互联网杂货铺,回复1 ,免费获取软件测试全套资料,资料在手,涨薪更快 1、黑盒测试、白盒测试、灰盒测试 1.1 黑盒测试 黑盒测…

JDK8 升级至JDK19

优质博文IT-BLOG-CN 目前部分项目使用JDK8,部分项目使用JDK19因此,环境变量中还是保持JDK8,只需要下载JDK19免安装版本,通过配置IDEA就可以完成本地开发。 一、IDEA 环境设置 【1】通过快捷键CTRL SHIFT ALT S或者File->P…

轨道交通信号增强与覆盖解决方案——经济高效,灵活应用于各类轨道交通场景!

方案背景 我国是世界上轨道交通里程最长的国家,轨道交通也为我们的日常出行带来极大的便利。伴随着无线通信技术的快速发展将我们带入电子时代,出行的过程中对无线通信的依赖程度越来越高,无论是车站还是车内都需要强大、高质量的解决方案以…

pve系统下从0到1搭建好用的OpenWRT系统

从0到1搭建好用的OpenWRT系统 通过PVE虚拟平台搭建OpenWRT系统在PVE上创建OpenWRT虚拟机下载OpenWRT镜像文件上传镜像到PVE创建虚拟机安装OpenWRT系统修改OpenWRT的ip地址,使得OpenWRT可以被前端访问配置OpenWRT的网关和dns,使系统可以访问外网 修改为国…

Open CASCADE学习|布尔运算后消除内部拓扑

在CAD建模中,布尔运算是一种逻辑运算方法,通过这种方法,可以创建、修改或组合几何对象。布尔运算主要包括并集(UNION)、交集(INTERSECT)和差集(SUBTRACT)三种运算。 并集…

一.重新回炉Spring Framework: 理解Spring IoC

1. 写在前面的话 说实话,从事java开发工作时间也不短了,对于Spring Framework,也是天天用,这期间也碰到了很多问题,也解决了很多问题。可是,总感觉对Spring Framework还是一知半解,不能有个更加…

基于Java SSM框架实现班级同学录网站系统项目【项目源码+论文说明】

基于java的SSM框架实现班级同学录网站系统演示 摘要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识…

C++入门学习(三十)一维数组的三种定义方式

数组是什么? 数组(Array)是有序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素…

自定义类型详解 ----结构体,位段,枚举,联合

目录 结构体 1.不完全声明 2.结构体的自引用 3.定义与初始化 4.结构体内存对齐与结构体类型的大小 结构体嵌套问题 位段 1.什么是位段? 2.位段的内存分配 枚举 1.枚举类型的定义 2.枚举的优点 联合(共同体) 1.联合体类型的声明以…

Java 抽象容器类源码剖析

总体介绍 抽象容器类接口和具体容器类的关系如图所示,顶层包括Collection、List、Set、Queue、Deque和Map6个抽象容器类。 AbstractCollection:实现了Collection接口,被抽象类AbstractList、AbstractSet、AbstractQueue继承,Arra…

LCR 127. 跳跃训练【简单】

LCR 127. 跳跃训练 题目描述: 今天的有氧运动训练内容是在一个长条形的平台上跳跃。平台有 num 个小格子,每次可以选择跳 一个格子 或者 两个格子。请返回在训练过程中,学员们共有多少种不同的跳跃方式。 结果可能过大,因此结果…

模仿 STM32 驱动开发格式实验

1.模仿 STM32 寄存器定义 为了开发方便, ST 官方为 STM32F103 编写了一个叫做 stm32f10x.h 的文件,在这个文件 里面定义了 STM32F103 所有外设寄存器,我们可以使用其定义的寄存器来进行开发,比如我 们可以用如下代码来初始…