题目描述:
用户发布视频明细表video_detail
,每一行数据代表一次视频发布情况和删除情况,字段及格式如下(所有数据无null值)
```
uid(bigint)--用户id vid(bigint) --视频id c_time(string)--发布时间 d_time(string)--删除时间
189890 23331 2020-05-05 16:01:01 2020-05-06 16:08:01
189891 23332 2020-05-05 16:02:01 2020-05-06 16:03:01
189890 23333 2020-05-05 16:03:01 2020-05-06 16:10:01
189891 23334 2020-05-05 16:04:01 2020-05-06 16:20:01
189890 23335 2020-05-05 16:05:01 2020-05-06 16:12:01
189892 23336 2020-05-05 16:06:01 2020-05-06 16:10:01
189890 23337 2020-05-05 16:07:01 2020-05-06 16:09:01
189891 23338 2020-05-05 16:08:01 2020-05-06 16:17:01
```
计算出用户第一次发视频id,最后一次删除视频id,及发视频的个数
需要指标如下:
```
uid(bigint)--用户id first_vid(bigint) --第一次发布视频id last_vid(bigint) --最后一次删除视频id cnt(int) --发视频的个数
```
效果:
最终获取到的结果是类似这样的:
```
uid first_vid last_vid cnt
189890 23331 23335 4
189891 23332 23334 3
189892 23336 23336 1
```
任务要求:
1:开发的SQL只能产生一次shuffle过程
2:SQL中不能使用子查询
任务提示、思路分析:
1:使用group by基于uid进行分组统计,利用min、max、count等函数实现统计