2
组的第一行我有一个表格式如下:选择与标准
FieldA FieldB FieldC
1111 ABC X
1111 DEF Y
1111 GHI X
2222 JKL Y
2222 MNO X
3333 PQR U
3333 STT U
我要选择每FIELDA一个FieldB有偏好的X在FieldC(如果没有X,选择另外一个)。
我已经尝试使用RANK函数与PARTITION BY,但我觉得它太不一致了,我现在已经到达了一堵墙。
我的输出应该是这样的:
FieldA FieldB FieldC
1111 ABC X
2222 MNO X
3333 PQR U
查询:
Select
rank() over (partition by Field3 order by Field1),
Field,1 Field2, Field3
FROM table
ORDER BY Field1, Field3
我猜我需要把一个子查询内部的查询......
如果你有2个'X',你应该得到他们两个吗?如果没有,那么优先考虑哪些价值呢? –
你可以发布你试过的查询吗? – Tricky12