【发布时间】:2014-05-23 17:53:51
【问题描述】:
我有下表(记录):
RecordID int,
Nickname nvarchar(max),
DateAdded datetime
我需要按昵称的最大记录数分组。我做到了:
var users = (from i in db.Records
where i.Form.CompetitionID == cID
group i by i.Nickname into g
orderby g.Count() descending
select new TopUserModel()
{
Nickname = g.Key,
Position = g.Count()
}).Take(100).ToList();
有效
现在我也需要按日期对其进行排序(谁首先获得了最大记录)。 我应该有这样的要求:
select Nickname, Count(*) as Result, MAX(DateAdded) as MDate from Records group by Nickname order by Result Desc, MDate Asc
LINQ 怎么做?
【问题讨论】:
-
您的 SQL 不起作用,因为您不能在
ORDER BY中使用MDate,因为它未在GROUP BY中指定