我正在尝试编写一个查询来跟踪PC终端的使用情况。我想展示所有没有活动1年的PC终端。这是我尝试使用的查询,它返回0结果,即使我知道我有没有使用过的终端。日期为日期/时间格式(2016-06-22 14:38:12.000)
{{1}}
答案 0 :(得分:2)
使用group by
和max()
:
select t.Terminalid, t.TerminalName
from Terminal t Inner Join
Pos_Payments p
on p.TerminalId = t.TerminalId
group by t.Terminalid, t.TerminalName
having max(TransactionDateTime) < '2015-07-29'
order by t.TerminalID ;
请注意使用ISO标准YYYY-MM-DD日期格式。
如果您想根据当前日期进行此操作:
having max(TransactionDateTime) < dateadd(year, -1, getdate())
(你可能希望将其转换为date
以摆脱时间组件。)