gpt4 book ai didi

c# - 聚合取n条最多的记录

转载 作者:行者123 更新时间:2023-11-30 15:07:44 26 4
gpt4 key购买 nike

我需要帮助构建一个 linq 查询,该查询将返回在特定消息的日志表中显示最多的用户名列表。

public class Log
{
public string Username {get; set;}
public string Message {get; set;}
}

我对消息为“已创建用户”、“已修改用户”或“已删除用户”的行感兴趣。

到目前为止我有:

    public IQueryable<Log> GetTop5ActiveUsersByManagementMessages()
{
return this.ObjectContext.Logs
.Where(w => w.Message == "Created User" ||
w.Message == "Removed User" ||
w.Message == "Updated User").Take(5);
}

我希望它根据日志表中这些消息的数量或条目返回前 5 个用户名

最佳答案

使用分组来完成这个任务:

this.ObjectContext.Logs
.Where(w => w.Message == "Created User" ||
w.Message == "Removed User" ||
w.Message == "Updated User")
.GroupBy(w => w.Username)
.OrderByDescending(g => g.Count())
.Select(g => g.Key)
.Take(5);

关于c# - 聚合取n条最多的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6309668/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com