【发布时间】:2023-04-11 10:00:01
【问题描述】:
我的虚拟雷达程序维护一个 SQLite3 数据库。数据库中有 2 个表,Aircraft 和 Flights。第一个存储飞机数据和特定飞机进行的其他飞行。 我想获取过去 180 天内没有航班的飞机列表。 在互联网上阅读我可以创建这个查询:
SELECT Registration,
STRFTIME('%d-%m-%Y',Flights.EndTime) AS 'Last Flight',
Flights.Callsign,
CAST ((JULIANDAY('now') - JULIANDAY(Flights.EndTime)) AS INTEGER) AS
'Days unseen'
FROM Aircraft
INNER JOIN Flights ON (Aircraft.AircraftID=Flights.AircraftID)
WHERE
CAST ((JULIANDAY('now') - JULIANDAY(Flights.EndTime))AS INTEGER) >= 180
GROUP BY Registration
ORDER BY Flights.EndTime
问题在于Flights.EndTime 是按升序编写的,因此查询会查看第一个Flights.EndTime 条目而不是最后一个条目。 是否可以查询数据库并检索180天或更长时间未见的飞机列表?
【问题讨论】:
标签: sqlite casting inner-join