sql - 在LINQ中使用group by时如何使用order by
问题描述
我编写了一个 LINQ 查询,以按教职员工姓名的顺序显示每个教职员工监督的学生总数。
int count;
int key;
var myQuery = from s in Students
join f in Faculties
on s.FID equals f.FID
group f by f.FLast + ' ' + f.FFirst into grp
select new {key = grp.Key, count = grp.Count()};
myQuery.Dump();
这个查询吐出结果:
Brown Jonnel 1
Zhulin Mark 1
Marx Teresa 3
Langley Colin 1
哪个是对的。但是,有两件事我想做这个结果。首先,我想按员工姓名对其进行排序,其次,我想为这些列标题提供别名。如何在 LINQ 中执行此操作?
解决方案
var myQuery = from s in Students
join f in Faculties
on s.FID equals f.FID
group f by f.FLast + ' ' + f.FFirst into grp
select new { StaffName = grp.Key //give column headers aliases
, count = grp.Count() };
myQuery.ToList().OrderBy(w=>w.StaffName)//order it by the staff name
.Dump();
希望它对你有帮助:-)
推荐阅读
- c# - 简化更新方法切换语句
- java - 将 void 方法的结果捕获到输出文件中
- xml - 如何根据 XSD 中的其他元素制作所需的 XML 元素
- c# - WCF 无法在没有提升的情况下访问本地计算机证书存储证书
- python - 使用python中的pandas将float中的列转换为int
- c# - 真正测试值类型的默认值?
- java - 如何在 Java 中使用 Redis 命令“bitcount”
- mysql - 未定义的结果 - 使用 dialogflow 从 phpmyadmin 获取数据
- amazon-web-services - AssumeRole 受信任实体到特定的 lambda 函数
- regex - 正则表达式:过滤掉预发布标签