2013-05-06 82 views
0

我想查找特定ID的最低訪問值和整個表格的最低值。 在一個查詢中。在一個查詢中爲ID和整個表格選擇最小值

MYTAB

ID VISITED 
101 2009 
102 2010 
103 2011 
104 2012 
105 2013 

我可以做一個查詢?

現在我不喜歡:

select 
    min(visited) 
from 
    mytab 
where 
    id = 100; 

,然後我做第二次查詢。

select 
    min(visited) 
from 
    mytab; 

我要的是類似下面(但可以使它更簡單嗎?)

select 
    min(a.visited), 
    min(b.visited) 
from 
    (select visited from mytab where id=100) as a, 
    (select visited from mytab) as b; 

Query run for e.g. id 103 and 100 would be: 
id 103 will give 2011,2009 
id 100 will give null,2009 

感謝

回答

1

您可以使用MINCASE

select 
    min(case when id = 100 then visited end) minbyid, 
    min(visited) minoverall 
from mytab 

SQL Fiddle Demo

1
select min(visited) as GlobalMin 
,  min(case when id = 100 then visited end) as MinForId100 
from mytab 
相關問題