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

一天一道Sql题(day05)

有用户登录表A,字段如下:
字段    类型    含义
user_id bigint  用户uid
device_id   bigint  设备ID
login_date  string  登录日期
求解:如果用户第一天登录算新用户,求每一天登录的新老用户数

思路:

用开窗函数增加一个排序列。根据用户id分组后按照登录时间降序排序,如果排名是1说明用户是第一次登录是新用户,否则就是老用户

使用对日期分组,在sum出每天新老用户数

sql:

with t as (select  user_id,login_date,row_number() over(partition by user_id order by login_date desc) numfrom A
)
select login_date,sum(if(num==1,1,0)) as new_user,sum(if(num>1,1,0)) as old_user
from t 
group by login_date
order by login_date desc

我是在csdn上直接手敲的sql,没有运行验证,有错误的地方请指出~

http://www.xdnf.cn/news/15165.html

相关文章:

  • 计蒜客T3473丑数、Leetcode2401最长优雅子数组、Leetcode167两数之和、Leetcode581最短无序连续子数组
  • Python Day8
  • 第6章应用题
  • C++内存泄露排查
  • 基于DeepSeek构建的openGauss AI智能优化助手:数据库性能提升新利器
  • 数据分析-名词
  • react16-react19都更新哪些内容?
  • 爬虫-数据解析
  • RapidRAW RAW 图像编辑器
  • claude code调用(免费白嫖100额度)
  • 【Java】【力扣】【字节高频】3.无重复字符的最长字串
  • 一条Redis命令是如何执行的?
  • Selenium+Pytest自动化测试框架实战前言#
  • Rust #[] 语法
  • SQL注入与防御-第六章-3:利用操作系统--巩固访问
  • CentOS/RHEL LVM 磁盘扩展完整教程
  • 虚拟化技术,容器技术和Docker
  • SQL Server 2008R2 到 2012 数据库迁移完整指南
  • 什么是幂等
  • ARM单片机滴答定时器理解与应用(一)(详细解析)
  • 专题一_双指针_查找总价格为目标值的两个商品
  • 飞算 JavaAI 智能编程助手 - 重塑编程新模态
  • 阿里开源WebSailor:超越闭源模型的网络智能体新星
  • NFS文件存储
  • 【Linux | 网络】socket编程 - 使用UDP实现服务端向客户端提供简单的服务
  • Vue响应式原理一:认识响应式逻辑
  • 【51单片机累计的时间为1分30秒时蜂鸣器叫】2022-7-29
  • VR重现红军过雪山:一场穿越时空的精神洗礼​
  • uniapp AndroidiOS 定位权限检查
  • 图像处理中的凸包检测:原理与实现