今天早些时候,我遇到了这个问题并解决了它,现在我正在修复列出一列(如果可能的话,带有排名功能)
我的车辆表是:
vehNo tTime odo address
ABC 2013-02-13 10:30:00 80 denver
ABC 2013-02-12 10:30:00 10 boston
ABC 2013-02-12 12:30:00 30 berlin
ABC 2013-02-13 01:30:00 40 montreal
ABC 2013-02-13 02:30:00 40 montreal
ABC 2013-02-13 03:30:00 40 montreal
XYZ 2013-02-13 03:33:00 44 houston
ABC 2013-02-13 04:30:00 60 madrid
ABC 2013-02-13 11:30:00 100 alaska
目前以下查询工作正常(在两次之间列出 3 列)
select vehNo, max(tTime) as [tTime], odo
from Table_3
where vehNo = 'ABC' and tTime between '2013-02-12 10:30:00' and '2013-02-13 10:30:00'
group by vehNo, odo
order by vehNo, odo;
因此,如果没有聚合()和分组依据,我可以将“地址”作为第四个并获得所需的结果
vehNo tTime odo address
ABC 2013-02-12 10:30:00 10 boston
ABC 2013-02-12 12:30:00 30 berlin
ABC 2013-02-13 03:30:00 40 montreal(time latest, ignoring 1:30 & 2:30)
ABC 2013-02-13 04:30:00 60 madrid
ABC 2013-02-13 10:30:00 80 denver
我在 SQL Server 2005 上运行,所以可以有排名功能..