2009-12-17 201 views
0

我想獲取表中的最後日期(12/3/09)並顯示字段中的每個井,因爲上次約會。選擇最大日期,然後從最大日期起選擇組中每條記錄的最後日期

 
Field, Well, TestDate, Amount 
X, A, 12/1/09, 500 
Y, D, 12/1/09, 400 
Y, E, 12/1/09, 300 
Y, F, 12/2/09, 50 
X, B, 12/2/09, 40 
Z, G, 12/2/09, 30 
X, C, 12/3/09, 512 
Y, D, 12/3/09, 425 
Z, G, 12/3/09, 31 
SELECT Field, Well, Amount, Last(Date) as LastDate 
    FROM table1 
    GROUP BY Field, Well, Amount 
    ORDER BY Last(Date), Field, Well 

息率這樣的:

 
X, C, 12/3/09, 512 
Y, D, 12/3/09, 425 
Z, G, 12/3/09, 31 

期望的結果:

 
X, A, 12/1/09, 500 
X, B, 12/2/09, 40 
X, C, 12/3/09, 512 
Y, D, 12/3/09, 425 
Y, E, 12/1/09, 300 
Y, F, 12/2/09, 50 
Z, G, 12/3/09, 31 

任何幫助是非常讚賞。

+0

你想這樣做純ANSI SQL或者您可以指定要使用的數據庫解決方案。 – GrayWizardx 2009-12-17 20:04:21

+0

那麼你只需要每口井的最新數據? – John 2009-12-17 20:33:57

+0

我正在使用MS Access 2007.並且John W,我想要一個FIELD中所有井的特定日期的數據,而不管TESTDATE發生的時間。 – Tron 2009-12-29 17:34:42

回答

1

一個選擇:從子查詢得到你想要的日期,並加入回主表:

SELECT Field, Well, LastDate, Amount from table1 t1 
join (
SELECT MAX(Date) as LastDate From Table1 Group by Well 
) t2 on t1.Date = t2.LastDate