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

如何使用Linq统计数据表指定列各不同值的对应出现次数

实现方案

你可以通过LINQ的GroupBy方法对Status列分组后统计每组条数,再将结果转为字典序列化即可得到目标格式:

完整代码示例

// 如需按user_group筛选,保留Where条件,不需要则删除
var result = db.TaskTable
    .Where(item => item.user_group == "A")
    .GroupBy(item => item.Status)
    .Select(g => new 
    {
        Status = g.Key,
        Count = g.Count()
    })
    .ToList()
    .ToDictionary(item => item.Status, item => item.Count.ToString());

string json = Newtonsoft.Json.JsonConvert.SerializeObject(result, Newtonsoft.Json.Formatting.Indented);
return Ok(json);

说明

  • GroupBy(item => item.Status) 会将表中所有数据按Status字段的不同值拆分为多个分组
  • 每个分组调用Count()即可得到该状态的出现次数
  • 转为Dictionary<string, string>结构后,Newtonsoft.Json序列化会直接输出你需要的键值对格式JSON
  • 如果你需要计数为数字类型而非字符串,删除ToString()即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 07:48:01