小编Mik*_*ner的帖子

使用 linq 实现密集排名

使用以下linq代码,如何将dense_rank添加到我的结果中?如果这太慢或太复杂,那么仅使用排名窗口函数怎么样?

var x = tableQueryable
    .Where(where condition)
    .GroupBy(cust=> new { fieldOne = cust.fieldOne ?? string.Empty, fieldTwo = cust.fieldTwo ?? string.Empty})
    .Where(g=>g.Count()>1)
    .ToList()
    .SelectMany(g => g.Select(cust => new {
        cust.fieldOne
    ,   cust.fieldTwo
    ,   cust.fieldThree
    }));
Run Code Online (Sandbox Code Playgroud)

c# linq dense-rank

6
推荐指数
1
解决办法
7028
查看次数

linq group by 并选择不在 group by 中的多个列

我正在尝试使用 linq - c# 选择不在组中的多个列。

使用 linq,我尝试按 ISNULL(fieldOne,''),ISNULL(fieldTo,'') 分组,然后为每个组选择 field_One、field_Two、field_Three。因此,对于 group by 将返回的每一行,我想看到许多行。

到目前为止,我有以下内容,但似乎无法选择所有需要的列。

var xy = tableQueryable.Where(
            !string.IsNullOrEmpty(cust.field_One)
            || ! string.IsNullOrEmpty(ust.field_Two)
            ).GroupBy(cust=> new { field_One= cust.field_One ?? string.Empty, field_Tow = cust.field_Two  ?? string.Empty}).Where(g=>g.Count()>1).AsQueryable();
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

c# linq

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×2

linq ×2

dense-rank ×1