我有一个名为team的表,如下所示:我只是在第三列中添加了row_number
RaidNo OutComeID RN
2 15 1
4 15 2
6 14 3
8 16 4
10 16 5
12 14 6
14 16 7
16 15 8
18 15 9
20 16 10
22 12 11
24 16 12
26 16 13
28 16 14
30 15 15
32 14 16
34 13 17
当OutcomeId
16出现时,则以1开头,而16依次出现,则一一加。结果就像
RaidNo OutComeID RN Result
2 15 1 0
4 15 2 0
6 14 3 0
8 16 4 1
10 16 5 2
12 14 6 0
14 16 7 1
16 15 8 0
18 15 9 0
20 16 10 1
22 12 11 0
24 16 12 1
26 16 13 2
28 16 14 3
30 15 15 0
32 14 16 0
34 13 17 0
帮我得到结果。
您可以使用以下查询:
SELECT RaidNo, OutComeID, RN,
CASE
WHEN OutComeID <> 16 THEN 0
ELSE ROW_NUMBER() OVER (PARTITION BY OutComeID, grp ORDER BY RN)
END AS Result
FROM (
SELECT RaidNo, OutComeID, RN,
RN - ROW_NUMBER() OVER (PARTITION BY OutComeID ORDER BY RN) AS grp
FROM mytable) AS t
ORDER BY RN
字段grp
标识具有相同OutComeID
值的连续记录的切片(也称为孤岛)。外部查询用于grp
枚举属于'16'
切片的每个记录。属于其他切片的记录被分配了值0
。
演示在这里
问题内容: 我有以下Pandas DataFrame,我想创建另一列来比较col1的前一行,以查看它们是否相等。最好的方法是什么?就像下面的DataFrame。谢谢 问题答案: 您需要使用: 或改为使用,但是在大型DataFrame中,它会稍微慢一些: 时间 :
问题内容: 这个问题已经在这里有了答案 : SQL中的TRUNCATE和DELETE有什么区别 (32个答案) TRUNCATE vs DELETE FROM的利弊 (11个答案) 6年前关闭。 关于mysql / sqlserver,我的脑海里发生了一件事,即 删除/截断 哪个更好更快? 在哪里使用删除? 在哪里使用截断? 问题答案: 删除 DELETE是DML命令。 使用行锁执行DELETE语
假设一个组件有一个prop'name'和状态'elapse'。 当道具更改时,应重置为0。 到 嗨,鲍勃。已经0秒了 > 不能使用,因为不是的纯函数,而且我不能返回0,因为重新呈现时可能会调用它。 如何替换有状态组件中的?
问题内容: 如何将SQL Server日期列与当前星期进行比较? 例如: 问题答案: 您可以将日期转换为星期数,然后将其与当前日期的星期数进行比较。同样,您还需要比较年份,以免获得去年的星期数。
我有个约会‘2019-05-08t 22:15:00-0400’。我想将这个日期与当前的日期和时间进行比较。如果上述日期和时间小于当前日期和时间,那么我必须做些什么。 我的代码是:- 但它返回 false 。
有了这个,我会检查服务最后一次运行的时间,以及是否有必要再次运行。 我正在将当前日期转换为整数。但后来我得到一个错误:错误: 08-27 17:21:40.930:W/System.err(26577):java.lang.NumberFormatException:无效int:“201308271721” 08-27 17:21:40.930:W/System.err(26577):java.l