如何在Azure SQL的表中查询最新的单条记录
实现方法
方法1:使用TOP + 倒序排序(推荐,仅返回单条记录)
这是最符合你需求的写法,直接按销售时间倒序排列后取第一条记录即可:
SELECT TOP 1 CustomerName, SalesAmount, SalesTime FROM CustomerSales ORDER BY SalesTime DESC;
逻辑说明:ORDER BY SalesTime DESC会将表中记录按销售时间从晚到早排序,TOP 1会直接返回排序后的第一条数据,就是你要的SalesTime最晚的单条记录。
方法2:返回所有最晚时间匹配的记录
如果存在多条记录的SalesTime完全等于最大时间、你需要全部返回的场景,可以用以下两种写法:
- 带WITH TIES的TOP写法
SELECT TOP 1 WITH TIES CustomerName, SalesAmount, SalesTime FROM CustomerSales ORDER BY SalesTime DESC;
- 子查询匹配最大时间写法
SELECT CustomerName, SalesAmount, SalesTime FROM CustomerSales WHERE SalesTime = (SELECT MAX(SalesTime) FROM CustomerSales);
内容的提问来源于stack exchange,提问作者Kenny_I
相关产品推荐
相关产品推荐

