我正在处理一个有多台机器写入数据库的数据库,每台机器都由一个名为ControllerID的列标识,因此例如,一台机器的控制器ID可以是20,一个可以是30分机sql server query multiple with
我想要做的是为每台机器获取上次阅读和现在之间的经过时间。这是我目前有:
SELECT TOP (1) controllerID, convert(Datetime,ReaderTime), DATEDIFF(SECOND,dtReading,GETDATE())
FROM ReaderData
WHERE (controllerID = '30') AND (CardID = 'FFFFFFF0 ')
ORDER BY ReaderIndex DESC
这得到最后的阅读和现在之间所经过的秒,但如果我把AND(controllerID =“另一个ID”)显然是不会工作的和OR也不起作用因为它只是选择最后一个,我怎么能做到这一点?
完美的作品谢谢你,在一个侧面说明,如果我想在过去的2个记录比较每个controllerID我怎么能做到这一点,所以DtReading从最后一个记录减去Dtreading从记录之前,获取记录之间的经过时间? – 2015-04-02 15:20:13
@JoshKirkpatrick查看更新的答案。 – 2015-04-02 16:07:18