如何为重复添加值?

xmjla07d  于 2021-07-29  发布在  Java
关注(0)|答案(2)|浏览(402)

如果标题不合适,请原谅
我有一张table如下

  1. Dev FCNo DateTime
  2. dev1 1 12-06-2020
  3. dev1 2 12-06-2020
  4. dev1 3 13-06-2020
  5. dev1 4 14-06-2020
  6. dev1 5 15-06-2020
  7. dev1 6 15-06-2020
  8. dev1 7 16-06-2020
  9. dev1 1 16-06-2020
  10. dev1 2 16-06-2020
  11. dev1 3 17-06-2020
  12. dev1 4 17-06-2020
  13. dev2 1 12-06-2020
  14. dev2 2 12-06-2020
  15. dev2 3 13-06-2020
  16. dev2 1 13-06-2020
  17. dev2 2 13-06-2020
  18. dev2 3 14-06-2020

我想要一个专栏

  1. Dev FCNo DateTime Occurance
  2. dev1 1 12-06-2020 1
  3. dev1 2 12-06-2020 1
  4. dev1 3 13-06-2020 1
  5. dev1 4 14-06-2020 1
  6. dev1 5 15-06-2020 1
  7. dev1 6 15-06-2020 1
  8. dev1 7 16-06-2020 1
  9. dev1 1 16-06-2020 2
  10. dev1 2 16-06-2020 2
  11. dev1 3 17-06-2020 2
  12. dev1 4 17-06-2020 2
  13. dev2 1 12-06-2020 1
  14. dev2 2 12-06-2020 1
  15. dev2 3 13-06-2020 1
  16. dev2 1 13-06-2020 2
  17. dev2 2 13-06-2020 2
  18. dev2 3 14-06-2020 2

对于特定设备,每当fcno重复为1时,发生率应增加。如何在sql中实现这一点
谢谢

tvmytwxo

tvmytwxo1#

请使用下面的查询,

  1. select dev, fcno, datetime, rnk
  2. from
  3. (select dev, fcno, datetime, row_number() over(partition by dev, fcno) as rnk
  4. from table_name) qry order by dev, fcno;
pbossiut

pbossiut2#

我想你想要 row_number() :

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

相关问题