开发者社区> 问答> 正文

SQL计数连续重复的字符串状态

我有3列的表(Time,ItemName,Status)。“时间”列是一个小时间隔,其格式为YYYY-MM-DD hh:mm:ss,“项目名称”列由各种项目字符串组成,“状态”列将定义项目字符串的状态。有3个状态结果,分别是“有效”,“无效”和“关闭”。当状态重复为30天以上时,结果主要为活动和非活动,而处于关闭状态则手动覆盖。为此,我们通常会手动计算不活动状态超过30天的时间。

为了简化现有流程,我想问一个可能的查询,在该查询中可以计算是否已将“不活动”状态重复了30天以上?我目前正在使用count语句,如下所示,但无法查看方法。非常感谢您能帮助我。

WITH STATUSCOUNT(
S_TIME, S_ITEMNAME, SSTATUS, S_COUNT#)
AS (
SELECT S_TIME, S_ITEMNAME, S_STATUS, COUNT(*) over (PARTITION BY S_STATUS) AS S_COUNT#
FROM TABLE_OUTPUT)
SELECT *
FROM STATUSCOUNT
WHERE S_ITEMNAME LIKE 'GRUNT'
ORDER BY S_TIME DESC

展开
收起
祖安文状元 2020-01-03 15:40:26 756 0
1 条回答
写回答
取消 提交回答
  • 在这种情况下,您可以使用Row_Number()。

    2020-01-03 15:40:31
    赞同 展开评论 打赏
问答分类:
SQL
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载