【发布时间】:2021-02-13 07:47:18
【问题描述】:
我正在使用 SQL Server 2012,并且想要获取登录失败尝试的总数。我的桌子有
| Login_Name | Is_Success | Login_Date |
我的查询是
select login_name,
sum(case when is_success = 1 THEN 0 ELSE 1 END) over (partition by login_name, issuccess order by login_name, login_date, is_success)
from login_table
查询给了我结果,但我希望在 is_success 变为 1 时重置计数
| Login_Name | Is_Success | Unsuccessful Attempts |
| admin | 1 | 0 |
| admin | 0 | 1 |
| admin | 0 | 2 |
| admin | 0 | 3 |
| admin | 0 | 4 |
| admin | 0 | 5 |
| admin | 1 | 0 |
| admin | 0 | 1 |
注意:我使用的是 SQL Server 2012
【问题讨论】:
标签: sql sql-server partition rolling-computation