SQL进阶技巧:如何查询最近一笔有效订单? | 近距离有效匹配问题

目录

 0 场景描述【美团金融面试题】

1 数据准备

2 问题分析

方法1:分析函数求解

方法2:通过一对多关联获取全量数据集求解

方法3:last_value() 忽略NULL值特性+窗口子句【优雅实现】

3 小结


 0 场景描述【美团金融面试题】

现有订单表t5_order,包含订单ID,订单时间,下单用户,当前订单是否有效

+---------+----------------------+----------+-----------+
| ord_id  |       ord_time       | user_id  | is_valid  |
+---------+----------------------+----------+-----------+
| 1       | 2023-12-11 12:01:03  | a        | 1         |
| 2       | 2023-12-11 12:02:06  | a        | 0         |
| 3       | 2023-12-11 12:03:15  | a        | 0         |
| 4       | 2023-12-11 12:04:20  | a        | 1         |
| 5       | 2023-12-11 12:05:03  | a        | 1         |
| 6       | 2023-12-11 12:01:02  | b        | 1         |
| 7       | 2

你可能感兴趣的:(#,SQL进阶实战技巧,数字化建设通关指南,sql,数据库,hive,数据分析,数据仓库)