LINQ to SQL group with take
我有一个看起来像这样的表:
Id GroupId Value
它有大约100行
如何返回前10行的值,但没有重复的GroupId?
没有找到相关结果
已邀请:
3 个回复
苏髓骗撩
编辑:修改以返回整个对象。
醒荒捆府绣
在英语中,它在GroupId上进行分组,然后从每个组中选择具有最高值的Foo,对其进行排序,然后取10个。如果有的话,您可以从L2SQL获取对象的具体列表,然后在内存中执行分组,因为你说只有100行,所以不应该是性能/内存问题。 对于LINQ-to-SQL,您可以尝试这样的方法
这基于SQL查询来执行相同的操作
它基本上执行两个分组。第一个获取每个组的最大值,第二个获取具有最大值的每个组的每个记录的最小ID(如果组中的2个记录具有相同的值),然后选择前10个记录。
土投
输出: