SQL Group по MAX (Дата) - PullRequest
       0

SQL Group по MAX (Дата)

1 голос
/ 25 февраля 2011

У меня следующий запрос. Существует много контрольных дат для каждого номера водительского удостоверения. Таким образом, записи могут быть следующими:

InspectionDate         DriverLicenseNumber
2010-01-02 00:00:00         123
2010-01-05 00:00:00         123 
2011-01-05 00:00:00         345 


  SELECT 
MAX(InspectionDate),
DriverLicenseNumber
FROM #Test
 GROUP BY DriverLicenseNumber

Почему я все еще получаю несколько дат и за один и тот же номер водительского удостоверения?

Спасибо

Ответы [ 3 ]

3 голосов
/ 25 февраля 2011

Попробуйте, и это должно проверить мысль Дэмиена ...

SELECT
  MAX(InspectionDate),
  CAST(DriverLicenseNumber AS INT)
FROM
  #Test
GROUP BY
  CAST(DriverLicenseNumber AS INT)


Или, возможно, это ...

SELECT
  MAX(InspectionDate),
  LTRIM(RTRIM(UPPER(DriverLicenseNumber)))
FROM
  #Test
GROUP BY
  LTRIM(RTRIM(UPPER(DriverLicenseNumber)))
3 голосов
/ 25 февраля 2011

Следующий код иллюстрирует, что на самом деле это не проблема, как сказал Мартин выше, должно быть что-то еще.

CREATE TABLE #test
(
    a DATETIME,
    id INT
)

INSERT INTO #test VALUES ('20100102', 123)
INSERT INTO #test VALUES ('20100105', 123)
INSERT INTO #test VALUES ('20110105', 345)

SELECT MAX(a), id 
FROM #test
GROUP BY id

DROP TABLE #test
1 голос
/ 25 февраля 2011

просто измените DriverLicenseNumber на целое число в вашей таблице, и тогда ваш запрос будет работать как есть.

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