希望以下信息对您有所帮助。我已经在Toad for 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中似乎不起作用
答案 0 :(得分:0)
您可以使用窗口功能:
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()
只会选择一个(任意)行。