我是linq的新手.在c#中,我按如下方式进行,以获得一列的计数.
SELECT DispatcherName,
ActivityType,
CONVERT(BIGINT,COUNT(ActivityType)) AS Total
FROM ACTIVITYLOG
GROUP BY DispatcherName,
ActivityType
ORDER BY Total DESC
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉我,我如何使用LINQ实现同样的目标.
更新:
我按照以下方式做了并得到了结果.但是我无法将结果转换为数据表.这就是我做的.这里的dt是datatabe,有两列Dispatchername和ActivityType.
var query1 = from p in dt.AsEnumerable()
group p by new
{
DispatcherName = p.Field<string>("Dispatchername"),
Activity = p.Field<string>("ActivityType"),
}
into pgroup
let count = pgroup.Count()
orderby count
select new
{
Count = count,
DispatcherName = pgroup.Key.DispatcherName,
Activity = pgroup.Key.Activity
};
Run Code Online (Sandbox Code Playgroud)
请尽快帮助我.
from c in ACTIVITYLOG
group c by new {c.DispatcherName, c.ActivityType} into g
orderby g.Count() descending
select new { g.Key.DispatcherName, g.Key.ActivityType, Total = g.Count() }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
541 次 |
| 最近记录: |