希望以下信息能在这里提供更多帮助。我在Toad中为oracle运行了以下代码:
select distinct cc_orig, cc_base, txn_orig, txn_base
from table a
它已经沿着的路线返回了信息
cc_orig cc_base txn_orig txn_base
GBP CAD 50 35
GBP CAD 75 45
GBP CAD 20 10
EUR CAD 10 8
EUR CAD 13 11
AUD CAD 90 50
AUD CAD 15 5
AUD CAD 80 45
我只想为cc_orig字段中的每个唯一值回拉一行(不管是哪一行(,所以新结果看起来如下:
cc_orig cc_base txn_orig txn_base
GBP CAD 50 35
EUR CAD 10 8
AUD CAD 90 50
希望这是有意义的,有人可以帮助-我认为这类似于Postgres中的Distinct On,但这似乎在Toad 中不起作用
您可以使用窗口函数:
select cc_orig, cc_base, txn_orig, txn_base
from (select cc_orig, cc_base, txn_orig, txn_base,
row_number() over (partition by cc_orig order by cc_orig) as seqnum
from table a
) a
where seqnum = 1;
请注意,您不需要select distinct
。无论如何,row_number()
只选择一行(任意(。