2016-02-12 125 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

既然你必須組合起來,否則你不能。另外使用'*'是不好的做法。總是爲數據庫命名,數據庫從索引中獲取索引,並避免維護問題。 –

相關問題