当前位置: 首页 > 面试题库 >

如何仅选择表中的最新条目?

林雅畅
2023-03-14
问题内容

我有一个3表SQLServer数据库。

Project
ProjectID
ProjectName

Thing
ThingID
ThingName

ProjectThingLink
ProjectID
ThingID
CreatedDate

将事物归因于项目后,会在ProjectThingLink表中放置一个条目。事情可以在项目之间移动。CreatedDate也用于了解事物上次移动到哪个项目。

我正在尝试创建所有与事物当前已链接到它们的项目的列表,但是我的大脑却失败了。

有一个简单的方法可以做到这一点吗?


问题答案:
select p.projectName, t.ThingName
from projects p
join projectThingLink l on l.projectId = p.projectId
join thing t on t.thingId = l.thingId
where l.createdDate =
( select max(l2.createdDate)
  from projectThingLink l2
  where l2.thingId = l.thingId
);

注意:评论后已更正



 类似资料:
  • 问题内容: 嘿,我在PostgreSql中有2个表: 和一些数据: 文件: 更新: 因此,所有更新都指向同一文档,但是所有更新的日期都不同。 我想做的是从文档表中进行选择,但还要包括基于日期的最新更新。 这样的查询应如何显示?这是我目前拥有的,但我列出的是所有更新,而不是我需要的最新更新: 包括; 我在查询中需要这个的原因是我想按更新模板中的日期排序! 编辑:此脚本已大大简化,因此我应该能够创建一

  • 问题内容: 我将对各种rpc调用的响应存储在具有以下字段的mysql表中: 为和的所有现有组合选择最新响应的最佳方法是什么? 对于每个日期,对于给定的方法/ ID,只能有一个响应。 并非所有呼叫组合在给定日期都必须存在。 有数十种方法,数千个ID和至少365个不同的日期 样本数据: 所需结果: (我不认为这是同一个问题-它不会给我最新的信息) 问题答案: 自我回答,但是随着表的增长,我不确定这是否

  • 而且,查询只请求插入的一小部分最新行。我现在遇到的问题是,这些查询的性能与表大小呈负相关。随着表的增长,即使查询只返回几行,获取响应的时间也要长得多。 您能否建议我应该如何修改表模式以避免性能下降(例如,创建索引或设置集群)?谢了!

  • 问题内容: 什么是最好,最简单的方法?我的查询当前是: 但是,这显示前10行,而不显示最后10行。 编辑:我想要最后10行(这是,DESC做到这一点)但是,我希望它们以升序返回。 问题答案: 颠倒顺序(因此获得最后10个而不是前10个),请使用代替 编辑 根据您的评论:

  • 主要的问题是,如何更新表单中选择的几个字段。我想让用户选择他们想要更新的字段。例如,我有form类: 之后,我将在类中设置字段,例如,如果用户只想更改他们的名称和姓氏,我将通过方法从现有的中获取其余的字段,然后更改一些字段并将更改的对象保存到数据库中。

  • 问题内容: 我试图选择一个表中的最后6个月的条目,我有一列称为datetime,这是一种datetime mysql格式。 我已经看到许多使用间隔和其他方法的方法-应该使用哪种方法?谢谢 问题答案: 使用DATE_SUB