2017-11-25 46 views
0
select numeric_value 
from table 
where numeric_value > 
(select avg(numeric_value) 
from table 
group by id) 

由於此where子句返回多個值無法執行。我試圖只返回一個值...來說明,如果e.numeric_value> d.avg(numeric_value)和e.id = d.id.這是在oracle數據庫中。從Select子語句中返回特定Group By條件

+1

外部查詢根本不使用ID ...我沒有得到你想要獲得的內容。你可以添加例子嗎? – Damiano

+0

嘗試使用'EXISTS'子句子查詢來使用兩個條件。也就是說,我不希望這種方式返回一個結果。 –

+0

爲了澄清,我想獲得大於數字值的平均值的數值。每個numeric_value都有一個id,我想添加那些匹配id的那些,然後返回大於那些匹配id的平均值的numeric_values。所以如果2 4 6是我的值,他們的id是1 2 1.我期望返回6和1.因爲6> avg(2,6) – ccbrantley

回答

1

所以如果2 4 6是我的價值觀和他們的ID是1 2 1。我希望回到6和1 6以來> AVG(2,6)

你可以使用相關子查詢:

select numeric_value 
from table t1 
where numeric_value >(select avg(numeric_value) 
         from table t2 
         WHERE t1.id = t2.id); 

DBFiddle Demo

注:您的設計看起來不知何故錯誤,ID應該是唯一的(或者它僅僅是標籤編輯不正確爲id)。