Выберите максимальную дату, а затем выберите последнюю дату для каждой записи в группе, начиная с максимальной даты - PullRequest
0 голосов
/ 17 декабря 2009

Я хочу получить последнюю дату в таблице (03.12.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

Любая помощь очень ценится.

1 Ответ

1 голос
/ 17 декабря 2009

Один вариант: получить нужную дату из подзапроса и присоединить ее к основной таблице:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...