1
20
A. blog post from 2016 调用这个问题并提供了一个基本的解决方法,所以感谢Mark D.Adams。奇怪的是,我在网上几乎找不到什么,所以我分享了我的(测试过的)解决方案。
关键是
由于您需要最高秩,因此必须子查询所有内容,并从每个排名中选择最大值。 将外部查询中的分区与子查询中的相应分区相匹配很重要。
笔记
2022年更新红移中分区上的不同计数仍未实现。 我的结论是,如果您在将其纳入生产管道时注意以下几点,那么这种变通方法是合理的:
然而,更好的方法是使用支持分组汇总(如Spark或Pandas)的数据帧语言。按组列出的Spark汇总是紧凑且可读的,权衡的是将另一个执行环境和语言引入到您的流中。 |
2
5
虽然红移在其窗口函数中不支持不同的聚合,但它确实有一个
当然,如果你有
|
3
1
另一种方法是使用 在第一选择中:
在下一个选择中
|
Community wiki · SQL语法新手 9 月前 |
KateMak · 是否将多行中的多列与唯一id组合? 9 月前 |
Karuna · SQL中列内的筛选器[重复] 9 月前 |
Irvan Affandy · 为另一个选择选择声明的键 9 月前 |
Community wiki · 这个MySQL语句出了什么问题? 9 月前 |
Community wiki · 优化从同一表中提取的多列的查询 10 月前 |