首页 > 解决方案 > 查找列中重复的条目并用数字对其进行索引

问题描述

我有一个数据表(比如 dt ),它有五列( A 、 B 、 C 、 D 、 E )都是字符串类型,现在包括第 6 列 F ,它只是 A+B+C+D 的串联。

我为什么要这样做?因为它作为每一行的唯一键。

现在有时可能会发生一行的 A+B+C+D 将等于另一行的相同。在这种情况下,我必须将其命名为 A+B+C+D_1。如果它再次出现,那么_2。

现在这是棘手的部分,

这种 _1 ,_2 增量逻辑在整个表中并不常见。它基于 E 列的值。

即,换句话说,一个值说“Val1”可能出现在E列数据表的10行中。这10行对我来说是一个块。如果需要,上述索引附加应该只发生在这 10 个值中。然后索引/计数器被重置。

假设还有 10 行的值为 E 列的“Val2”。现在我将再次制作上面提到的唯一键,但任何附加的索引都应该以“_1”重新开始

到目前为止我尝试了什么?由于 dt 已按列 E 排序/排序

for all unique value uv at column E in dt 
{
  temnpdt =  dt. select("E='uv'").copydatatable
     for all rows in tempdt
        { 
           make a string array of all A+B+C+D (Temp array)
        }
  
        **do something with this array and change the append the index where ever it is needed**
        //unsure how to do the above thing///
         
 }

标签: vb.net

解决方案


推荐阅读