C# linq-按日期的不同函数动态分组
下面是我的简单sql查询C# linq-按日期的不同函数动态分组,c#,linq,C#,Linq,下面是我的简单sql查询 SELECT source, date ,COUNT (*) FROM query WHERE source in ('a value') GROUP BY source, date 我花了一段时间才理解并用linq表示法实现它,这也多亏了这个网站的提示,最终我做到了 var selekt = dt.AsEnumerable(); var alldata = from ad in selekt where ad["source"].ToS
SELECT source, date ,COUNT (*)
FROM query
WHERE source in ('a value')
GROUP BY source, date
我花了一段时间才理解并用linq表示法实现它,这也多亏了这个网站的提示,最终我做到了
var selekt = dt.AsEnumerable();
var alldata = from ad in selekt
where ad["source"].ToString().Equals(this.comboBox1.Text)
group ad by new
{
err = ad["err"],
date = ad["date"]
}into g
orderby g.Key.err ascending, g.Key.channel descending
select new
{
Name = g.Key.err,
Date = g.Key.date,
C = g.Count()
};
这或多或少是我需要的,它在where子句中还包含动态元素。
最后一点我不能理解的是动态组子句。
取决于我要按日期的三个函数之一对查询进行分组的表单上的值:天/周/月。我想最困难的部分可能是每周分组。
无论如何,欢迎您提供有关此主题的所有提示您能为组提供三个函数的示例吗?日期和月份很简单:dataD=Convert.ToDateTimead[data]。ToSortDateString dataM=Convert.ToDateTimead[data].Month我现在正在考虑在我的数据表中增加一列,包含周数。您想检测应该使用什么方法?我的winform中有一组复选框:天/周/月。为了方便起见,我在datatable列中添加了week。所以现在我可以使用其中一种分组方法:dataD=Convert.ToDateTimead[data].ToShortDateString dataW=ad[week]dataM=Convert.ToDateTimead[data].Month现在的问题是如何选择正确的方法?是否可以包含linq查询的部分?类似于选择零件+其中零件+组零件