2016-02-12 108 views
0

我在甲骨文如下表所有字段是除“名称”相同:有没有办法在oracle中查询不同的行记录?

Name, Age, Nickname, FavSport 
A, 5, Jordan, Hockey 
A, 6, Jordan, Hockey 
B, 5, Jordan, Hockey 
B, 6, Jordan, Hockey 

有没有执行基于之外的所有其他领域的查询,这样我得到“重复的记录”的方式一个领域?

即采样输出

A, 5, Jordan, Hockey 
A, 6, Jordan, Hockey 

还是说没有更好的办法,我可以得到:

A-B, 5, Jordan, Hockey 
A-B, 6, Jordan, Hockey 

回答

1

是的,有:

select LISTAGG(name, '-'), 
     Age, Nickname, FavSport 
    from yourTable 
group by Age, Nickname, FavSport 

上面的查询将会给你:

A-B, 5, Jordan, Hockey 
A-B, 6, Jordan, Hockey 

为了解决它的第一输出一个简单的where子句会做:

select name, 
     Age, Nickname, FavSport 
    from yourTable 
Where name = 'A' 
+0

是否有任何“一网打尽”,我可以用“*”,而不是明确地列出了所有其他字段的名字,我想包括在输出中? – Rolando

+0

既然你必须组合起来,否则你不能。另外使用'*'是不好的做法。总是为数据库命名,数据库从索引中获取索引,并避免维护问题。 –

相关问题