2015-10-22 22 views
0

我具有以下表(表A):MySQL的 - 選擇另一列的最小值後,選擇一列的最小值,並且是在特定範圍內

x   y 
------------------------ 
    3   1 
    1   4 
    0   3 
    0   1 

我想x至低至可能是最優先考慮的因素,y儘可能低作爲低優先級,我也希望y在一定範圍內。 我想x = 0和Y = 3的輸出,並做以下查詢:

Select x, MIN(y) AS y 
FROM tablea 
WHERE x = (SELECT MIN(x) FROM tablea where y between 2 AND 4); 

它給我x = 0和Y = 1的輸出(我明白爲什麼,但我不知道如何解決我的查詢得到我想要的)。

+0

所以是你的首要任務真正找到2和4之間的'y',然後呢?我不確定你在這方面的優先順序是否明確...... – hannebaumsaway

+0

@praguian是的,你是對的,y在一定範圍內是我的首要任務,那麼x越低越好,y越低越好。 – Jariel

回答

5

也許最好的辦法是

SELECT x, y 
FROM tablea 
WHERE y BETWEEN 2 AND 4 
ORDER BY x, y LIMIT 1 
+0

非常好的主意。 –

1
Select x, MIN(y) AS y 
FROM tablea 
WHERE x = (SELECT MIN(x) FROM tablea where y between 2 AND 4) 
and y between 2 AND 4; 
+0

謝謝你的作品! – Jariel

相關問題