Как выбрать самую старую дату в SQL? - PullRequest
1 голос
/ 01 сентября 2010

У меня есть SQL-оператор:

SELECT TOP (5) PartNumber,SerialNumber,MIN(WIP_CompletionDate) as dates
FROM dbo.FG_FILLIN where 
             Status='FG-FRESH'
             and WIP_Status<>'CMPL01' 
             and PartNumber='P02-070161-10211-C100'
            GROUP BY PartNumber,WIP_CompletionDate,SerialNumber

Результат:

PartNumber                  SerialNumber               dates
P02-070161-10211-C100   21524100046CA8001806    2010-08-08 06:59:23.183
P02-070161-10211-C100   21524100046CA8001807    2010-08-07 16:26:19.477
P02-070161-10211-C100   21524100046CA8001808    2010-08-07 16:30:20.990
P02-070161-10211-C100   21524100046CA8001810    2010-08-14 13:12:58.827
P02-070161-10211-C100   21524100046CA8001811    2010-08-09 06:58:01.263

Теперь, если я выберу top (2), это мой результат.

P02-070161-10211-C100   21524100046CA8001806    2010-08-08 06:59:23.183
P02-070161-10211-C100   21524100046CA8001807    2010-08-07 16:26:19.477

Но предполагается, что я результатом будет что-то вроде этого.

P02-070161-10211-C100 21524100046CA8001808  2010-08-07 16:26:19.477
P02-070161-10211-C100 21524100046CA8001808  2010-08-07 16:30:20.990

Есть предложения?С уважением

Ответы [ 4 ]

3 голосов
/ 01 сентября 2010

Попробуйте добавить 'ORDER BY WIP_CompletionDate ASC' к вашему запросу следующим образом:

SELECT TOP (5) PartNumber,SerialNumber, WIP_CompletionDate 
FROM dbo.FG_FILLIN 
WHERE Status='FG-FRESH' AND WIP_Status<>'CMPL01' AND PartNumber='P02-070161-10211-C100' 
GROUP BY PartNumber, WIP_CompletionDate, SerialNumber 
ORDER BY WIP_CompletionDate ASC;
1 голос
/ 01 сентября 2010

Остальные ответы почти правильные, точный путь будет:

SELECT TOP (5) PartNumber,SerialNumber,MIN(WIP_CompletionDate) as dates
FROM dbo.FG_FILLIN
WHERE Status='FG-FRESH' and WIP_Status<>'CMPL01' and PartNumber='P02-070161-10211-C100'
GROUP BY PartNumber,WIP_CompletionDate,SerialNumber
ORDER BY dates

Так что ORDER BY даты , и нет необходимости явно указывать, что это возрастание.

1 голос
/ 01 сентября 2010

Добавьте предложение ORDER BY WIP_CompletionDate ASC в конец вашего запроса.Он упорядочит запрос по датам, и вы выберете две верхние, которые будут самыми старыми.

0 голосов
/ 01 сентября 2010

Использовать Порядок по датам Asc с вашим запросом,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...