2017-03-22 56 views
0

我還是很新的SQL,我似乎無法找到任何關於這個問題,並尋求幫助。我有辦法完成它,但它需要使用更多的SQL查詢,而不是我認爲需要的。我確信有一個更快的方法來做到這一點。我基本上是想做類似的事情:查詢基於另一列和客戶ID的最小值返回值?

select Date 
from Table 
where ID = 1 and amount = min(amount) 

我知道這是一個非工作查詢。但我試圖得到表中列出的最低金額ID 1的日期。

ID Date   Amount 
1 3/21/17 4:00 5 
2 3/20/17 8:00 4 
3 3/22/17 12:00 6 
1 3/18/17 17:00 4 
2 3/19/17 17:00 2 
1 3/20/17 17:00 2 

我期待的結果是3/20/17 17:00。任何指導非常感謝。

+0

子查詢:'從表中選擇日期其中id = 1和金額=(從表中選擇min(金額),其中id = 1)' –

+0

您使用哪個dbms?您有產品特定的答案(s)... – jarlh

+0

jarlh我正在使用SQL Server – Shnozz

回答

1

這樣的事情? (如果你想分鐘量爲每一個ID,否則從子查詢中刪除ID):

SELECT T1.ID, DATE, AMOUNT 
FROM T1 
INNER JOIN (SELECT ID, MIN(AMOUNT) AS MIN_AM FROM T1 GROUP BY ID) B ON T1.ID = B.ID AND T1.AMOUNT = B.MIN_AM 
+0

非常感謝! – Shnozz

1

如何:

SELECT TOP 1 Date FROM Table WHERE ID = 1 ORDER BY Amount ASC, Date ASC

相關問題