我最近看到了很多关于此问题的问题,但我认为应该比Group By
更容易一个列,并将所选表格的所有其他字段设为Min
,{ {1}},Max
个函数。例如,我有一个20列的大表。我不认为将19列作为函数是正确的选择。
我尝试了Average
,但它也提供了重复值。
同时将select的每个字段都放在Distinct
中也不起作用,因为Oracle抱怨:
Group By
有什么想法吗?
答案 0 :(得分: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;