You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用LINQ按日期分组统计表中数据条数,适配Highchart组件需求

LINQ 按日期分组统计数据库数据解决方案

原代码问题

当前写法存在两个核心问题:

  • select 子句中的子查询统计的是当前房间所有日期的分组总个数,导致每个 HighlinePie 对象的 Value 都是固定的该房间总日期数,不是对应日期的条目数量
  • 未做分组聚合,会返回和有效 ApplySchedule 条目数量一致的重复数据,得不到按日期聚合后的结果

修正后代码

var highChartsData = 
    (from a in db.roomdetails
    join b in db.ApplySchedule on a.RoomId equals b.RoomID
    where b.Status == true
    // 以房间名称、日期为分组键聚合数据
    group b by new { a.RoomName, b.MDate } into g
    select new HighlinePie
    {
        Title = g.Key.RoomName,
        Date = g.Key.MDate,
        Value = g.Count()
    }).ToList();

上述代码返回的列表中,每条数据对应单个房间某一天的有效条目统计值,符合Highchart组件的数据要求。

如果你需要直接生成指定格式的字符串结果,可追加以下处理:

// 按 标题,日期,数量 格式输出
var formatOutput = highChartsData.Select(item => 
    $"{item.Title},{item.Date:dd/MM/yyyy},{item.Value}").ToList();

内容的提问来源于stack exchange,提问作者Ashwin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 20:54:00