假设我在 Teradata 数据库中有一个相当大的表“Sales”,其中包含每笔销售的每日记录,我想编写一个 SQL 语句,将其限制为仅最新日期。这并不总是前一天,例如,如果是星期一,则最晚日期将是前一个星期五。
我知道我可以通过以下方式获得结果:
SELECT s.*
FROM Sales s
JOIN (
SELECT MAX(SalesDate) as SalesDate
FROM Sales
) sd
ON s.SalesDate=sd.SalesDt
我不知道它将如何处理子查询,并且由于 Sales 是一个大表,如果没有另一个我可以使用的表,是否有更有效的方法来做到这一点?