|
|
1
1
你想要这样的东西吗?
可以组合成
以这样的方式:
|
|
|
2
1
您将要学习如何使用groupby()分组;转到 101 LINQ Samples: Grouping Operators . public class Record
{
public int colA; { get; }
public int colB; { get; }
}
...
// this extension method will clean up our searching within the group clause
public static Record Select99OrFirst(this IEnumerable<Record> source)
{
var item = source.FirstOrDefault(r => r.colB == 99);
return (null != item) ? item : source.First();
}
...
IEnumerable<Record> data;
var query = data.GroupBy(r => r.colA)
.Select(g => new { Year = g.Key, Value = g.Select99OrFirst().colB })
.OrderByDescending(x => x.Year);
Console.WriteLine("colA/tcolB");
foreach (var item in query)
Console.WriteLine(item.Year + "/t" + item.Value);
这将为您提供匿名对象,分别具有cola和colb的Year属性和Value属性。如果在一年组中找不到99条记录,则每个记录都代表该组中的第一条记录。 |
|
|
Johnny T · 基于当前值的SQL合并表[重复] 1 年前 |
|
John D · 需要为NULL或NOT NULL的WHERE子句 1 年前 |
|
ojek · 如何对SQL结果进行分组和编号? 1 年前 |
|
|
senek · 如何在PL/SQL中将选择结果(列)放入数组中 1 年前 |
|
|
Sax · 规范化Google表格(第一步) 1 年前 |
|
|
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 1 年前 |
|
|
Andrus · 如何在sql中查找第二个匹配项 1 年前 |