如何获取特定字段的最大行数?

时间:2014-06-17 09:05:21

标签: sql vb.net linq

我是LINQ的新手,我有这种情况:

表1:

Table 1:

表2:

Table 2:

我想从表1中选择与TCode相关的捐赠的最大数量,并获得与返回结果相对应的TDescription。

提前致谢

更新 我已经设法用这段代码获得每种捐赠类型的计数:

Dim query = (From aDonation In DBEntity.Donation_Tbls
                Group aDonation By aDonation.TCode Into myGroup = Group
                Select code = TCode, cnt = myGroup.Count)

我需要的是只获得max cnt及其代码的一行/结果。

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情:

var maxDonated = table1.GroupBy(d => d.TCode)
                .OrderByDescending(g => g.Count())
                .FirstOrDefault().Key;  

var maxDonatedDescription = table2.FirstOrDefault(t => t.TCode == maxDonated).TDescription;

请检查它是否有效,我还没有测试过。 我刚刚展示了你如何做到这一点,你应该做空检查等。

VB代码: 我正在研究C#,所以不确定它是否完美

Dim maxDonated = table1.GroupBy(Function(d) d.TCode)
                 .OrderByDescending(Function(g) g.Count())
                 .FirstOrDefault().Key

Dim maxDonatedDescription = table2.FirstOrDefault(Function(t) t.TCode = maxDonated).TDescription