查询具有相同标题的最新id

19 浏览
0 Comments

查询具有相同标题的最新id

我对Oracle和SQL还不熟悉。由于我开始自学数据库查询编程,我正在寻找一个关于我的问题的提示或解决方案:

我创建了一个包含不同产品订单票的随机数据库。在我的advancedorders表中,我有一个详细的记录,显示在任何给定时间发生了什么变化。

下面是情况的说明:

[图片链接]

我想构建一个数据库查询,只搜索给定ID组中最旧的记录:

[图片链接]

并得到类似于这样的结果:

[图片链接]

我尝试了这个查询:

[SQL查询语句]

然而,我没有得到这个查询的结果...有人能给我一些建议吗?

0
0 Comments

问题的出现原因是需要查询具有相同标题的最新id。解决方法是使用SQL语句中的窗口函数ROW_NUMBER()和子查询。

首先,在代码的前16行定义了一个名为test的临时表,其中包含了一些示例数据,包括id、ticket_id和title字段。接下来,在第17行开始的子查询中,使用ROW_NUMBER()函数对具有相同ticket_id的记录进行排序,并为每个记录分配一个排名(rn)。最后,在第24行的主查询中,筛选出排名为1的记录,即每个ticket_id中最新的记录。

执行这个查询后,返回了具有相同标题的最新id的结果集。结果集包括id、ticket_id和title字段,其中title字段可能为空。

这个解决方法可以在其他类似的场景中使用,只需将示例数据替换为实际数据即可。

0