2017-06-22 80 views
1

我想比较一个表中的值,其中有相同ID的空值和非空值(如果不为空,那么我希望至少有两个非空值) 。如果给定ID的所有值都为空,我希望这些值的ID显示为空。 输入比较哪里有空值和非空值的列值

ID  Amount       
1  Null 
1  Null        
1  Null        
1  500        
1  600 
1  700 
2  Null        
2  Null 
2  Null 
2  Null 
2  Null 
3  Null 
3  Null 
3  300 
3  600 
3  200 

预计输出

ID   Amount 
1   500 (min Not null value) 
2   Null 
3   200 (Min Not null value) 

回答

4

简单的分组将这样的伎俩:

select t.id, min(t.amount) 
from table t 
group by t.id 
+1

谢谢。它确实有帮助。 – Avi