有没有办法在oracle中查询不同的行记录?
问题描述:
我在甲骨文如下表所有字段是除“名称”相同:有没有办法在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
答
是的,有:
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'
是否有任何“一网打尽”,我可以用“*”,而不是明确地列出了所有其他字段的名字,我想包括在输出中? – Rolando
既然你必须组合起来,否则你不能。另外使用'*'是不好的做法。总是为数据库命名,数据库从索引中获取索引,并避免维护问题。 –