美文网首页
SQL实战 | 窗口函数:计算每年新增用户数

SQL实战 | 窗口函数:计算每年新增用户数

作者: AureSong | 来源:发表于2025-08-02 10:19 被阅读0次

一 题目

计算每年新增用户数。

二 数据表结构:

数据表 orders 是基于 Kaggle 网站的 Superstore 销售数据整理得到,本次涉及的列:

1. order_date:订单日期,格式为VARCHAR(20),具体形式如“11/8/2016”

2. customer_id:客户ID

三 错误写法

代码:

运行结果:

问题:

1. FIRST_VALUE() OVER() 必须带ORDER BY,否则不会按时间先后选择第一条订单

2. 定义orders_first 时,因为SELECT中使用了窗口函数,窗口函数对所有行作用,所以使用的DISTINCT 无法保证只取一条记录

四 修改及改进

语句修改:

改进:

改用ROW_NUMBER()使方案更安全和规范

运行结果:

五 总结

1. 窗口函数FIRST_VALUE() OVER(),必须使用ORDER BY

2. 窗口函数对所有行起作用

3. 使用DISTINCT时,要注意使用位置

— END —

数据分析,一起努力。

Thryze|数据分析 × AI能力成长 × 效率工具探索

相关文章

网友评论

      本文标题:SQL实战 | 窗口函数:计算每年新增用户数

      本文链接:https://www.haomeiwen.com/subject/lcshojtx.html