例如,如果我们有一个名为activity的表,并且有行[activitycode和starttime]
ActivityCode-----StartTime<BR>
Lunch------------1200<BR>
MathClass--------1300<BR>
EnglishClass-----1500<BR>
EndOfSchool------1700<BR>
现在我想做一个sql查询,如下所示:
ActivityCode-----StartTime-----EndTime<BR>
Lunch------------1200----------1300<BR>
MathClass--------1300----------1500<BR>
EnglishClass-----1500----------1700<BR>
EndOfSchool------1700----------1700<BR>
我不知道怎么做。我试图了解如何从select语句的前一个结果行中获取值?。但它并没有像我预期的那样起作用。感谢您的帮助。
2条答案
按热度按时间m0rkklqb1#
您可以使用此查询:
输出:
m528fe3b2#
我将使用带有聚合的子查询:
通常在这样的例子中,会有一个额外的列来标识某种类型的“分组”——比如一个人。如果有这样一列,则子查询中会有一个相等条件以及时间上的不相等条件。
而且,在几乎任何其他数据库中都有更好的方法来实现这一点——特别是
lead()
功能。