使用LINQ在VB.NET中进行分组和计数

3
我有一个数据表格,想要列出重复的条目。可以用类似下面的简单SQL查询语句来实现:
SELECT artnr, COUNT(artnr) AS cnt FROM table GROUP BY artnr HAVING COUNT(artnr)>1

使用linq应该是什么样子的?

每次需要使用linq时,我总是无从下手。我真的不喜欢它。

谢谢。

2个回答

6

不确定你的表格长什么样,但可以尝试这个方法。此外,我相信在 stack 上有很多答案说明 VB 中的分组操作,这可能是一个重复的问题。

Dim artnrGroups = From a In table _
                    Group a By Key = a.artnr Into Group _
                    Where Group.Count() > 1
                    Select artnr = Key, numbersCount = Group.Count()

1
您可以将Count()函数放入查询语句中,如下所示。
Dim duplicateRows = From row In table _
           Group row By row.artnr Into g _
           Where g.Count() > 1 _
           Select row

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接