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

SQL入门题

作者SQL入门小白,此栏仅是记录一些解题过程

1、题目

用户访问表users,记录了用户id(usr_id)和访问日期(log_date),求出连续3天以上访问的用户id。

2、解答过程

2.1数据准备

通过navicat创建数据,首先创建表,设置字段类型,

然后打开数据表添加数据

2.2  解题

首先按照用户id给log_data排序

SELECT usr_id,log_data,ROW_NUMBER() OVER (PARTITION BY usr_id
ORDER BY log_data) AS rank_id
FROM q1

得到结果 rank_id

得到排名后,我们用访问日期减去排名,得到一个时间flg_date 。

SELECT  usr_id,DATE_SUB(log_date,INTERVAL rank_id DAY) AS flg_date
FROM (SELECT  usr_id, log_date,ROW_NUMBER() OVER (PARTITION BY usr_id ORDER BY log_date) AS rank_idFROM users
) AS A

同一个用户有3个及以上flg_date相同,说明用户连续访问3天。 

SELECTusr_id,DATE_SUB(log_date,INTERVAL rank_id DAY) AS flg_date
FROM (SELECTusr_id,log_date,ROW_NUMBER() OVER (PARTITION BY usr_id ORDER BY log_date) AS rank_idFROM users
) AS A
GROUP BY usr_id,flg_date
HAVING COUNT(flg_date) >=3

http://www.lryc.cn/news/437200.html

相关文章:

  • Python实战:实战练习案例汇总
  • zabbix之钉钉告警
  • 《OpenCV计算机视觉》—— 对图片进行旋转的两种方法
  • Python 错误 ValueError 解析,实际错误实例详解 (一)
  • [java][git]上传本地代码及更新代码到GitHub教程
  • react antd table expandable defaultExpandAllRows 不生效问题
  • 什么是领域驱动设计?
  • 信息安全工程师(1)计算机网络分类
  • 利士策分享,探索无界:心灵之旅,发现未知精彩
  • Jetson 部署 Faster Whisper
  • 测试开发基础——测试分类
  • 【计网】数据链路层:概述之位置|地位|链路|数据链路|帧
  • 【Android】NestedScrollView的简单用法与滚动冲突、滑动冲突
  • 【LeetCode】每日一题 2024_9_13 预算内的最多机器人数目(滑动窗口、单调队列)
  • TypeScript中 any和unknown 的区别
  • 道可云人工智能元宇宙每日资讯|第五届深圳国际人工智能展(GAIE)在深圳会展中心举行
  • Bootstrap布局实例(偏移列)
  • IP网络广播服务平台任意文件上传漏洞
  • 详细阐述Activity的生命周期
  • spring boot+vue3学习之旅
  • vue-watch监听功能(侦听器)详解使用
  • 8.第二阶段x86游戏实战2-实现瞬移
  • uts+uniapp踩坑记录(vue3项目
  • 《深度学习》OpenCV 高阶 图像金字塔 用法解析及案例实现
  • dirty pages , swapiness 查看SWAP占用进程
  • Spring Boot项目更改项目名称
  • Hive SQL基础语法及查询实践
  • k8s service如何实现流量转发
  • 每日一练:K个一组翻转链表
  • 昨晚,OpenAI震撼发布o1大模型!我们正式迈入了下一个时代。