MS SQL Server中的递归函数比较值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MS SQL Server中的递归函数比较值相关的知识,希望对你有一定的参考价值。
我有一个包含三列的表。一个是MemberID,另一列是他们获得的分数,另一列是他们获得分数的日期。
我想创建一个结果集,该结果集将向我显示所有随着时间推移而提高其得分的成员的列表。
所以我认为为此,递归表将是答案。但是我不知道如何创建它。
这里是我的列和一些值的列表:
MemberID Score Dates
1 3 12/31/2019
1 2 01/31/2020
1 1 02/31/2020
2 4 12/31/2019
2 6 01/31/2020
2 10 02/31/2020
3 4 12/31/2019
3 6 01/31/2020
3 5 02/31/2020
在这种情况下,我的结果集将仅包括:
MemberID 2,因为它是唯一随时间改进的成员。
答案
具有LEAD()
窗口功能:
select MemberID
from (
select MemberID, lead(score) over (partition by MemberID order by Dates) - score dif
from tablename
) t
group by MemberID
having min(dif) > 0
以上是关于MS SQL Server中的递归函数比较值的主要内容,如果未能解决你的问题,请参考以下文章
使用属性值从 MS SQL Server 中的 JSON blob 中检索特定值?