【发布时间】:2015-10-27 09:40:59
【问题描述】:
我正在尝试使用 LINQ SQL 来查询我的数据库。
假设我有一些看起来像这样的数据:
var1 var2 var3 qty
1 a 1a 50
1 a 1a 25
2 b 2b 10
2 b 2b 15
2 b 2b 10
3 a 3a 25
我知道如何在 SQL 中格式化我的查询。应该是这样的:
SELECT var1, var2, var3, count(*) AS count, sum(qty) As quantity
FROM MyTable
GROUP BY var1, var2, var3
在这种情况下,输出将是这样的:
var1 var2 var3 Count Qty
1 a 1a 2 75
2 b 2b 3 35
3 a 3a 1 25
如何在 vb.net 中使用 LINQ 做同样的事情
Dim groups = From j In MyTable
Group By j.var1, j.var2, j.var3 Into g
Select new {var1 = g.var1,
var2 = g.var2,
var3 = g.var3,
quantity = sum(g.qty),
count = count(*)}
这不太对,但我认为它很接近。我不明白 VB.NET 中 group by 的语法。
【问题讨论】:
-
我认为您应该使用
g变量作为选择中的数据源。 -
是的,它是 g。实际上我得到一个编译错误定义方法'g'在这种情况下是不可访问的。