当前位置: 首页 > article >正文

MySQL | DATE_ADD()函数

题1:

现在运营想要查看用户在某天刷题后第二天还会再来刷题的平均概率。请你取出相应数据。

示例:question_practice_detail

iddevice_idquest_idresultdate
12138111wrong2021-05-03
23214112wrong2021-05-09
33214113wrong2021-06-15
46543111right2021-08-13
52315115right2021-08-13
62315116right2021-08-14
72315117wrong2021-08-15
……

根据示例,你的查询应返回以下结果:

avg_ret
0.3000

思路分析:所谓次日留存,指的是同一用户(在本题中则为同一设备,即device_id)在当天和第二天都进行刷题,

次日还会来刷题的概率=去重的数据表中符合次日留存的条目数目/去重的数据表中所有条目数目,所以这里需要查询这两个的数目。

这里使用到了DATE_ADD() 函数,可以巧妙的统计到后一天也刷题的个数。

select count(q2.device_id)/count(q1.device_id) as avg_ret
from (select distinct device_id,date from question_practice_detail) as q1
left join (select distinct device_id,date from question_practice_detail) as q2
on q1.device_id=q2.device_id and q2.date=DATE_ADD(q1.date,interval 1 day)


http://www.kler.cn/news/327994.html

相关文章:

  • 从 ElasticSearch 中删除数据的几种方式
  • QT 获取视频帧Opencv获取清晰度
  • Git忽略规则原理和.gitignore文件不生效的原因和解决办法
  • php email功能实现:详细步骤与配置技巧?
  • 虚拟机、ubantu不能连接网络,解决办法
  • 并发面试合集
  • 前缀和(7)_连续数组
  • 安全教育培训小程序系统开发制作方案
  • Thinkphp/Laravel小型超市进销存管理系统的设计与实现
  • Study-Oracle-10-ORALCE19C-RAC集群搭建(一)
  • Python 在自动化运维时常用到的方法
  • 移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——15.红黑树
  • C# C++ 笔记
  • 使用cmake配置pcl环境
  • 基于云开发进行快速搭建企业智能名片小程序
  • 考研数据结构——顺序表代码题
  • SQL进阶技巧:影院相邻的座位如何预定?
  • 计算机毕业设计Hadoop+Spark知识图谱体育赛事推荐系统 体育赛事热度预测系统 体育赛事数据分析 体育赛事可视化 体育赛事大数据 大数据毕设
  • B树简介:高效数据存储与检索的利器
  • RabbitMQ应用
  • @SpringBootTest 和 @Test的区别
  • 高效处理大规模数据:MATLAB实践指南
  • C#基于SkiaSharp实现印章管理(9)
  • 基于Spring Boot的校园管理系统
  • linux部署redis,整合ansible和redis
  • 如何在算家云搭建MVSEP-MDX23(音频分离)
  • 深度学习500问——Chapter17:模型压缩及移动端部署(2)
  • ubuntu安装ftp服务器
  • 前端Vue.js与后端Flask/Django协同开发指南
  • Java面试题真题·人才招聘系统项目介绍