mysql - 分区中的列值与 Rank 1 行中的值相同
问题描述
我希望我的 SQL 查询在分区中返回与分区的 Rank 1 行中同一列中的值相同的列值。
示例:下面是示例表:
Rank Name Class PocketMoney
---- ---- ----- -----------
1 A 6 6
2 B 6 5
3 C 6 4
1 P 7 7
2 Q 7 6
1 R 8 8
2 S 8 7
3 T 8 6
4 U 8 5
我希望我的 SQL 查询的输出如下:
Rank Name Class PocketMoney
---- ---- ----- -----------
1 A 6 6
2 B 6 6
3 C 6 6
1 P 7 7
2 Q 7 7
1 R 8 8
2 S 8 8
3 T 8 8
4 U 8 8
这在 SQL 查询中可能吗?
解决方案
是的,用于first_value
从分区的第一行获取值。
select
rank() over w,
name,
class,
first_value(PocketMoney) over w as pocketmoney
from whatever
window w as (partition by class order by name asc)
推荐阅读
- android - Android FragmentManager:自定义动画显示错误的退出片段
- php - 使用未定义的常量 admin - 假定为“admin”(这将在 PHP 的未来版本中引发错误)
- apache-spark - Pyspark:创建滞后列
- r - R:如何使用行值数据框重命名列
- sql - 嵌套属性为空时的JPA查询排序
- braintree - Braintree Sandbox API 上的突然失败请求:“计费状态格式无效”
- swiftui - SwiftUI iOS14 - 禁用键盘回避
- matrix - 良好的训练和验证准确性,但混淆矩阵较差
- arrays - 二维数组的右旋转
- windows-server-2016 - Windows Server 2016 在重新启动时也将共享文件夹永久挂载为光盘