gpt4 book ai didi

vb.net - 在多个字段、SUM 和 COUNT 上使用 GROUP BY 进行 Linq 查询

转载 作者:行者123 更新时间:2023-12-02 00:57:09 30 4
gpt4 key购买 nike

我正在尝试使用 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 中分组依据的语法。

最佳答案

您想按匿名类型分组,这是 VB.NET 中的语法(注意 Key):

Dim groups = 
From j In MyTable
Group By x = New With {Key .var1 = j.var1, Key .var2 = j.var2, Key .var3 = j.var3} Into g = Group
Select New With {
.var1 = x.var1,
.var2 = x.var2,
.var3 = x.var3,
.quantity = g.Sum(Function(r) r.qty),
.count = g.Count()
}

关于vb.net - 在多个字段、SUM 和 COUNT 上使用 GROUP BY 进行 Linq 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33364411/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com