1

我最近看到了很多关于这个的问题,但我认为应该有比Group By一列更容易的事情,并将所选表的所有其他字段设置为Min, Max,Average函数。例如,我有一张有 20 列的大桌子。我不认为将 19 列作为函数是正确的选择。

我已经尝试过Distinct,但它也给出了重复的值。也将 select 的每个字段都放在 中Group By也不起作用,因为 Oracle 抱怨:

ORA-00932: inconsistent datatypes: expected - got CLOB

任何想法?

4

1 回答 1

3

您可以使用以下row_number()函数选择不同的行:

select t.*
from (select t.*,
             row_number() over (partition by <columns that should be different>
                                order by NULL) as seqnum
      from t
     ) t
where seqnum = 1;
于 2013-08-21T11:01:00.303 回答