【发布时间】:2017-06-23 03:33:12
【问题描述】:
我的 C# 代码中有两个数据表,每个数据表都有一个名为 ID 的列,类型为 string。
我想(内部)连接 ID 列上的两个表并获取公共行的计数。我不需要 ID 本身,只需要常用 ID 的数量。
其中一个表可能有重复的 ID,但连接必须只考虑不同的值,因此如果有两行 ID=544,它们应该只计为一个。
这两个表每个可能有超过一百万行,因此性能是一个问题。用 C# 编写代码最简单、最有效的方法是什么?
【问题讨论】:
-
显示你目前尝试过的代码
-
在你向谷歌询问你的标签和大量关于你的实际问题的清晰简明陈述之前,请保留一个作为标题。例如,您可以组合来自“c# datatable count number of values in a common column”的两个匹配项。 PS 您的数据是如何准确地存储的?请阅读minimal reproducible example并采取行动。
-
Linq join with COUNT的可能重复
-
@uɐpuɐɥƆ - 我没有尝试过任何事情,因为我知道没有数据表方法可以加入,而且我在 Google 上找不到任何我可以使用的 Linq。我不想将数据转储到 SQL 中并运行我知道的 SQL 查询:-)。或者我可以对表格进行排序并在一次迭代中串联遍历(合并连接样式),但为什么要重新发明轮子呢?
-
@philipxy - 我看到了,但我不明白哪一部分是我需要删除的左连接,以及我需要保留哪一部分来计数。此外,我认为您可以计算其中一张表中的每一行。
标签: c# datatable count inner-join