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

如何获得上一行的值

侯池暝
2023-03-14
问题内容

如何从SELECT语句的上一个结果行中获取值

如果我们有一个名为cardevent的表,并且有[ID(int),Value(Money)]行,并且其中有一些行,例如

ID --Value

1------70 
1------90
2------100
2------150
2------300 
3------150 
3------200 
3-----250 
3-----280

很快…

如何进行一个查询,以获取每个行的ID,值和前一个行值,数据在其中显示如下

ID --- Value ---Prev_Value

1 ----- 70 ----------  0 
1 ----- 90 ---------- 70
2 ----- 100 --------  90 
2 ------150 -------- 100
2 ------300 -------- 150
3 ----- 150 -------- 300 
3 ----- 200 -------- 150 
3 ---- 250 -------- 200 
3 ---- 280 -------- 250

很快。

那么,有人可以帮助我获得针对此类问题的最佳解决方案吗?

需要查询帮助


问题答案:

您将不得不将表与自身连接,我不确定这是否是100%合法的SQL,但是目前我没有SQL-Server可以尝试此操作,但是请尝试以下操作:

select (ID, Value) from table as table1 join
inner join table as table2
on table1.ID = (table2.ID -1)


 类似资料:
  • 问题内容: 下面的代码应在上周五的16:00:00返回。但它返回上周的星期五。如何解决? 更新。我现在使用以下方法-最好的方法吗? Upd2。仅举一个例子。假设今天是 2012年10月5日 。如果当前时间等于或小于 16:00 ,则应返回 2012年9月28日 ,否则返回 2012 年 10月5日 。 问题答案: 与链接的问题一样,您需要使用对象而不是。要获得最终结果,可以使用:

  • 问题内容: 我有一个模板,仅当当前项目与上一个项目具有某些不同的字段时,才想在其中生成一些HTML。如何在ng-repeat中访问上一个项目? 问题答案: 你可以做类似的事情 JS 演示:小提琴 注意: 是针对指令数组的,它可能与作用域数组不同。使用内联变量访问正确的数组。 如果您筛选或订购,则为。

  • 问题内容: 我已经执行了JDBC查询以获取结果集。在遍历之前,我想快速找出返回了多少行。我如何才能做到这一点? 我正在使用Java 6,Oracle 11g和最新的Oracle JDBC驱动程序。 问题答案: 您将不得不作为一个单独的查询来执行此操作,例如: 某些JDBC驱动程序可能会告诉您,但这是可选行为,更重要的是,该驱动程序可能还不知道。这可能是由于如何优化查询所致,例如,Oracle中的两

  • 问题内容: 是否可以使用反射或其他魔术来获取方法的行号? 该方法可能在当前Stacktrace中。使用,可以获取一个的行号。但是,如果我只得到对象,该怎么办? 对于类->如何从java.lang.Class对象获取源文件名/行号,我发现了这一点,但是它对方法没有用。 问题答案: 在进行了一些研究之后,我想做同样的事情。您将需要添加javassist(我使用的是3.15.0-GA版本)。 给定以下类

  • 问题内容: 如何从排序集中获得最加权的元素,但不包括在另一个集合(或列表或哈希)中找到的那些元素。 我唯一的选择是一对一地从排序集中获取元素并与“禁用”项目列表进行比较吗?由于与服务器的事务如此之多,这不会很慢吗? 这里的方法是什么? 问题答案: 注意:我认为您的意思是 如您所知,它不能对已排序的集合进行操作-这是因为定义已排序的集合之间的差异并不容易。 您可以做的是首先使用ZUNIONSTORE

  • 问题内容: 我正在尝试使用数组来过滤并在列表中显示信息。为此,我使用了inbuild 方法。 但是我遇到了错误。 这是我的尝试(我通过过滤) 现场演示 问题答案: AngularJS 默认不包含过滤器。您可以使用angular- filter中的 那个。只包含JavaScript 并在您的应用中添加依赖项: 您的代码应立即生效!我编辑了您的Plunker,使其正常工作。