【问题标题】:How to add a value for repetition?如何为重复添加值?
【发布时间】:2020-07-29 11:26:14
【问题描述】:

如果标题不合适,请原谅

我有一张如下表

Dev     FCNo    DateTime
dev1    1   12-06-2020
dev1    2   12-06-2020
dev1    3   13-06-2020
dev1    4   14-06-2020
dev1    5   15-06-2020
dev1    6   15-06-2020
dev1    7   16-06-2020
dev1    1   16-06-2020
dev1    2   16-06-2020
dev1    3   17-06-2020
dev1    4   17-06-2020
dev2    1   12-06-2020
dev2    2   12-06-2020
dev2    3   13-06-2020
dev2    1   13-06-2020
dev2    2   13-06-2020
dev2    3   14-06-2020

我想要一列

Dev     FCNo    DateTime    Occurance
dev1    1   12-06-2020      1
dev1    2   12-06-2020      1
dev1    3   13-06-2020      1
dev1    4   14-06-2020      1
dev1    5   15-06-2020      1
dev1    6   15-06-2020      1
dev1    7   16-06-2020      1
dev1    1   16-06-2020      2
dev1    2   16-06-2020      2
dev1    3   17-06-2020      2
dev1    4   17-06-2020      2
dev2    1   12-06-2020      1
dev2    2   12-06-2020      1
dev2    3   13-06-2020      1
dev2    1   13-06-2020      2
dev2    2   13-06-2020      2
dev2    3   14-06-2020      2

当特定设备的 FCNo 重复为 1 时,应增加 Occurance。如何在 SQL 中实现这一点

谢谢

【问题讨论】:

    标签: mysql sql mysql-workbench


    【解决方案1】:

    请使用以下查询,

    
    select dev, fcno, datetime, rnk
    from
    (select dev, fcno, datetime, row_number() over(partition by dev, fcno) as rnk
    from table_name) qry order by dev, fcno;
    

    【讨论】:

      【解决方案2】:

      我想你想要row_number():

      select t.*,
             row_number() over (partition by fcno, dev order by datetime) as occurrence
      from t;
      

      【讨论】:

        猜你喜欢
        • 2012-12-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-07
        • 1970-01-01
        • 1970-01-01
        • 2019-12-08
        • 2021-02-08
        相关资源
        最近更新 更多