【发布时间】:2024-05-02 11:45:03
【问题描述】:
使用以下数据表:
Dim d As New DataTable()
d.Columns.Add("Product", GetType(System.String))
d.Columns.Add("Value", GetType(System.Double))
d.Rows.Add(New Object() {"OAP1", 100.0})
d.Rows.Add(New Object() {"EPP4", 100})
d.Rows.Add(New Object() {"OAP1", 150.25})
d.Rows.Add(New Object() {"OAPIN", 200.0})
我正在尝试使用 LINQ 来确定是否有多个任何类型的产品。在 SQL 中,这将类似于:
SELECT Product FROM SOME_TABLE HAVING COUNT(*) > 1
我终其一生都无法弄清楚如何在 LINQ 中执行此操作。我在关注一个做了这样的事情的人:
Dim q = From row In d.AsEnumerable()
Group row By New { column1 = row("Product"), column2 = row("Value") }
Into grp
Where grp.Count() > 1
Select row
For Each item In q
' 'q' is not declared. It may be inaccessible due to its protection level.
Next
但是当我尝试实际使用 'q' 时出现错误。关于如何完成这项工作的任何想法?
【问题讨论】:
-
您想对产品和价值进行分组吗?使用不会给您任何重复的示例数据。
-
你是对的。我已经编辑了 SQL 查询以反映我真正想要的。我想查找重复的产品类型。