我正在嘗試編寫一個查詢,以從每個唯一設備的GPSReport表中返回最新的GPS位置。表中有50個設備,所以我只需要返回50行。對一列的SELECT DISTINCT,返回多個其他列(SQL Server)
這裏是我到目前爲止(不工作)
SELECT TOP(SELECT COUNT(DISTINCT device_serial) FROM GPSReport) * FROM GPSReport AS G1
RIGHT JOIN
(SELECT DISTINCT device_serial FROM GPSReport) AS G2
ON G2.device_serial = G1.device_serial
ORDER BY G2.device_serial, G1.datetime DESC
這將返回50行,但沒有返回每個device_serial唯一行。它返回第一個設備的所有報告,然後返回第二個設備的所有報告等。
是我在一個查詢中想要做的可能嗎?
給你的數據模式的相關部分可能有助於以後這個驚人的結果。 – Jason 2009-11-23 20:17:05
你在行上有任何唯一的ID嗎? – artdanil 2009-11-23 20:19:18
對不起,該表格包含以下列:device_serial,datetime,triggerID,緯度,經度,速度,地址。 PK由device_serial,datetime,triggerID,緯度,經度列組成。 – mwalsher 2009-11-23 20:32:20