我有下表
card id | txn id | date | legit
xys txq Mar.1 1
xys txs Mar.8 0
xys txt Mar.12 0
xyb txl Mar.13 0
xyb txp Mar.14 1
我希望能够比较该卡id的第一个记录和任何未来记录之间的日期,其中该未来记录的合法性为0,如果第一个记录在10天内,则显示该记录(注意:如果legit=0,则还需要包括第一条记录。
如果有更好的方法来考虑这个问题,我洗耳恭听。我很确定这里会用到dateddiff,但我不确定如何比较第一个记录和任何未来的记录。
输出示例如下:
card id | txn id | date | legit
xys txs Mar.8 0
xyb txl Mar.13 0
``` `WHERE legit = 0 ...`
2条答案
按热度按时间rekjcdws1#
也许有更有效的方法,但我认为这能满足你的要求:
首先获取第一条记录和“下一条记录”,并将它们移动到一行,然后
CASE
语句根据我认为您指定的规则确定是使用第一条记录还是“下一条”记录。vuv7lop32#
我希望能够比较该卡id的第一个记录和任何未来记录之间的日期,其中该未来记录的合法性为0,如果第一个记录在10天内,则显示该记录。
如果我理解正确,您可以使用窗口函数: