首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用TSQL获取最新记录?

如何使用TSQL获取最新记录?
EN

Stack Overflow用户
提问于 2011-12-01 19:42:27
回答 2查看 2.7K关注 0票数 0
代码语言:javascript
复制
Table a
ID Name
1  aa
2  bb
3  cc

Table b
ID Name  DateTime     aID
1  a1    2010-10-10   1
2  b1    2010-11-10   1
3  c1    2011-01-01   1
4  d1    2010-09-09   2
4  e1    2010-09-09   2


SELECT a.Name, b.Name
FROM Table a
LEFT JOIN Table b ON (a.ID = b.aID, b.status = 1)

由于以上查询的结果,我只需要表b中最大值(日期时间)的记录:-

aa,c1

注意:在我真正的查询中,我有许多联接和位置条件。组员在这里是行不通的。

EN

回答 2

Stack Overflow用户

发布于 2011-12-01 19:45:18

代码语言:javascript
复制
WHERE b.DateTime = (SELECT MAX(DateTime) FROM b)
票数 2
EN

Stack Overflow用户

发布于 2011-12-01 20:01:51

这是一种使用排序函数来识别“最大”日期的方法,然后过滤掉查询。警告:在某些情况下,它的表现可能不是很好。

代码语言:javascript
复制
SELECT a.Name, b.Name
FROM Table a
LEFT JOIN (
  select aID, DateTime, rank() over (order by b.DateTime desc) as rownum
  from TableB
) b ON a.ID = b.aID and b.status = 1
where
b.rownum = 1 -- first row
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8347302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档