回答

收藏

选择具有条件的组的第一行

技术问答 技术问答 269 人阅读 | 0 人回复 | 2023-09-12

我有这种格式的表:# S$ }1 N& x) k1 k% v
FieldA   FieldB   FieldC1111     ABC      X1111     DEF      Y1111     GHI      X2222     JKL      Y2222     MNO      X3333     PQR      U3333     STT      U我想为每个FieldA选择一个FieldB,优先选择FieldC中的X(如果没有X,选择另一个)。
. O) N. }# _6 h( M/ N6 B我尝试将RANK函数与PARTITION BY一起使用,但发现太不一致了,现在到了墙上。
. V+ U% h3 d% A3 Q$ m! _; S我的输出如下:. z/ q) R" |5 e% I! H! d
    FieldA   FieldB   FieldC   1111                                                                                                                                          ABC      X                                                            MNO      X   33333                                                                                                                                                                                                      PQR      U询问:; i* n& T! d! A" q0 ]7 c: b
Selectrank() over (partition by Field3 order by Field1),Field,1 Field2,Field3FROM tableORDER BY Field1,Field3我猜我需要把查询放在子查询中…
7 y8 A$ R) ]. @& D                                                               
* y7 k- w6 Y9 }& M: a, k    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则