我有这个查询返回变量date_showx作为dateTime
var myList = (from p in db.Full
group p by p.date_reception into g
orderby g.Key
select new
{
date_showx = g.Key,
countx = g.Count()
}
).take(10).ToList();
在我的应用程序中,我有一个频率按钮,其值为月,日和小时,我需要查询的结果才能匹配该类型,例如点击月份我需要只显示月份和年份,点击在日期仅显示日期和月份,通过点击小时显示仅限小时和天,例如Google Analytics one。
答案 0 :(得分:0)
您的问题有点不清楚,但我认为您要实现的目标是将收集中的项目计数不是按照确切的日期进行分组,而是按日期的某些部分进行分组。例如,您的第一个要求是"仅显示月份和年份"这意味着你想把你的物品分成每个月+年后贴上标签的袋子,然后计算每个袋子的数量。 这意味着您需要按多个组合进行分组。不是整个日期,而是日期内的多个属性。查看月份+年份的示例,我确定您能够弄清楚其余部分。您也可以参考以下答案:C# Linq Group By on multiple columns
var list = new List<DateTime>
{
new DateTime(2014, 2, 1),
new DateTime(2014, 2, 13),
new DateTime(2014, 2, 22),
new DateTime(2014, 4, 1),
new DateTime(2014, 4, 3),
new DateTime(2014, 7, 1),
new DateTime(2014, 7, 6),
new DateTime(2014, 7, 6),
new DateTime(2015, 2, 1),
new DateTime(2015, 2, 1),
new DateTime(2015, 4, 2),
new DateTime(2015, 4, 1),
new DateTime(2015, 4, 1),
};
var myList = (from p in list
group p by new {p.Month, p.Year} into g
orderby g.Key.Year, g.Key.Month
select new
{
Year = g.Key.Year,
Month = g.Key.Month,
Count = g.Count()
}
).Take(10).ToList();
foreach (var item in myList)
{
Console.WriteLine("Year: {0}, Month: {1}, Count {2}", item.Year, item.Month, item.Count);
}
Console.ReadKey();