我有以下查询。每个驾驶执照号码都有许多检查日期。所以记录可以如下:
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
为什么我仍然会获得多个多个日期和相同的驾驶执照号码?
由于
答案 0 :(得分:3)
下面的代码说明这实际上并不是一个问题,就像马丁上面说的那样,必然会有其他事情发生。
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 :(得分:3)
尝试这个,它应该测试Damien的想法......
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)))
答案 2 :(得分:1)
只需将DriverLicenseNumber更改为表中的整数,然后您的查询将按原样运行。