我必须挖掘几列表中的数据,以便根据Name
列找到不同的行,因为每个表都有很多列(全部超过50个)
由于要求明确声明每一列,我不想使用group by。
有没有办法找到允许使用SELECT *
的非独特行?
如果它只是一个表,我会输入所有的列名称,但现在我有4个不同的表要经过,看到我不得不经常运行相同的过程。
答案 0 :(得分:1)
使用窗口函数,在本例中为count(*)
:
select t.*
from (select t.*, count(*) over (partition by name) as NameCnt
from table t
) t
where NameCnt > 1;